sql >> Databáze >  >> RDS >> Sqlserver

SQL Server:Je možné vkládat do dvou tabulek současně?

V jednom příkazu :Ne.

V jedné transakci :Ano

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

Dobrou zprávou je, že výše uvedený kód je také zaručeně atomový a lze je odeslat na server z klientské aplikace pomocí jednoho řetězce SQL v jediném volání funkce, jako by to byl jeden příkaz. Můžete také použít spouštěč na jednu tabulku, abyste získali efekt jednoho vložení. V konečném důsledku jsou to však stále dva příkazy a pravděpodobně nebudete chtít spustit spouštěč pro každé vložit.



  1. Výkon MySQL:Převod MySQL na MariaDB

  2. Zaujměte lidský přístup ke správě dat

  3. Jak importovat soubor .bak SQL Serveru do MySQL?

  4. Uložit pole PHP do MySQL?