我的数据库中有2个数据表。一个数据库名为Employee_Data。 Employee_Data有3列,例如id,name,contact。第二个数据表名称是Employee_Achievements,它有另外3列,例如Achievement_Name,Marks,Grade。
我想在一个SQL语句中将数据插入这两个数据表中。哪种方式最好?请提供SQL查询示例
谢谢
答案 0 :(得分:5)
就像巴里所说,创造交易是唯一的方法。 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