sql >> Database >  >> RDS >> Sqlserver

SQL Server:is het mogelijk om tegelijkertijd in twee tabellen in te voegen?

In één statement :Nee.

In één transactie :Ja

BEGIN TRANSACTION
   DECLARE @DataID int;
   INSERT INTO DataTable (Column1 ...) VALUES (....);
   SELECT @DataID = scope_identity();
   INSERT INTO LinkTable VALUES (@ObjectID, @DataID);
COMMIT

Het goede nieuws is dat de bovenstaande code ook gegarandeerd atomair is , en kan vanuit een clienttoepassing naar de server worden verzonden met één sql-tekenreeks in een enkele functieaanroep alsof het één instructie is. U kunt ook een trigger toepassen op één tabel om het effect van een enkele insert te krijgen. Uiteindelijk zijn het echter nog steeds twee instructies en u wilt waarschijnlijk niet de trigger uitvoeren voor elke invoegen.



  1. Gids voor het ontwerpen van een database voor quiz in MySQL

  2. Tabelrijen / -records bewerken in SQL Server Management Studio (SSMS) - SQL Server-zelfstudie / TSQL-zelfstudie, deel 18

  3. Hoe bepaal ik de laatste dag van de vorige maand met PostgreSQL?

  4. Bindingsparameters voor WHERE IN-clausule met PDO