Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server:Възможно ли е да се вмъкнат в две таблици едновременно?

В едно изявление :Не.

В една транзакция :Да

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

Добрата новина е, че горният код също е гарантирано атомен , и може да бъде изпратен до сървъра от клиентско приложение с един sql низ в едно извикване на функция, сякаш е един израз. Можете също така да приложите задействане към една таблица, за да получите ефекта от едно вмъкване. В крайна сметка обаче това са все още две изявления и вероятно не искате да стартирате спусъка за всяко вмъкнете.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да преместя pandas DataFrame в таблицата на Microsoft SQL Server?

  2. Избиране на COUNT(*) с DISTINCT

  3. Грешка на SQL Server при команда за актуализиране - Възникна сериозна грешка при текущата команда

  4. Разберете защо имейл не успя да се изпрати в SQL Server (T-SQL)

  5. Върнете редовете в точния ред, в който са били вмъкнати