我的数据库中有2个数据表。一个数据库名为Employee_Data。 Employee_Data具有3个名为id,name,contact的列。第二个数据表名称是Employee_Achievements,它具有另外3列,例如Achievement_Name,Marks和Grade。

我想在一个SQL语句中将数据插入这两个数据表中。最好的方法是什么?请提供SQL查询示例

谢谢

最佳答案

如Barry所说,创建交易是唯一的方法。 SQL Engine负责事务中数据的耦合。

BEGIN TRANSACTION
INSERT INTO Employee_Data (Name, Contact)
VALUES ('X', 'Y')
DECLARE @id as int = SCOPE_IDENTITY()
INSERT INTO Employee_Achievements (EmployeeId, Achievement_Name , Marks , Grade)
VALUES ( (@id, 'A1', 'M1', 'G1'), (@id, 'A2', 'M2', 'G2') )
COMMIT TRANSACTION

10-06 13:06
查看更多