SQL Insert für 2 Tabellen

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von vico255.

    SQL Insert für 2 Tabellen

    Ist es möglich ein Insert für 2 Tabellen auf eine Rutsch zu erledigen?

    Tabelle1 hat eine ID (auto_Inkrement) Spalte und in der 2 Tabelle gibt es auch eine ID Spalte

    Wenn ich jetzt ein Insert für Tabelle1 mach, wird eine neue ID (+1) vergeben.
    Wenn ich jetzt ein Insert für Tabelle2 mach, müsste ich die ID erst aus Tabelle auslesen um sie benutzen zu koennen.

    Wie koennt ich das am besten umsetzen?

    Vielen Dank schonmal :)
    In Arbeit...
    Hey,

    je nachdem mit was du da arbeitest es gibt bei PHP z.b. PDO:lastInsertid ( siehe: secure.php.net/manual/de/pdo.lastinsertid.php )
    Bei VB.Net / C# geht das beim sqlserver mit "scope_identity()" (soweit ich weiß) und bei MySQL gibt es "LastInsertedId" genauso wie bei PHP.
    Damit bekommst du halt nach deinem ersten INSERT direkt die zuletzt hinzugefügte AI ID und kannst sie halt weiter nutzen.

    Am besten wäre also wenn du uns sagst was du für ne Datenbank benutzt so könnte man dir am besten helfen.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Oh SQL, hatte ich ganz vergessen zu erwähnen.

    Mit

    Quellcode

    1. select top 1 id FROM Behaelter_over ORDER BY id DESC
    bekomm ich schonmal die letzte ID

    edit....

    Hab es hinbekommen :)

    SQL-Abfrage

    1. INSERT INTO [dbo].[Behaelter_over]([Artikel],[Bezeichnung],[Auftragsnr],[Start],[Ende])
    2. VALUES(123,'aaa','123','2011-01-01','2011-01-02')
    3. INSERT INTO [dbo].[Behaelter_inn]
    4. ([ID]
    5. ,[Typ]
    6. ,[StellplatzNr]
    7. ,[BeNr])
    8. VALUES
    9. ((select top 1 id FROM Behaelter_over ORDER BY id DESC)
    10. ,0
    11. ,0
    12. ,2000)


    PS. Ein Insert in 2 Tabellen geht wohl net.
    In Arbeit...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „vico255“ ()