如何同时将数据插入2个表(SQL管理工作室2008)

时间:2015-02-10 16:11:26

标签: c# sql ssms mysql-management

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

我想在一个SQL语句中将数据插入这两个数据表中。哪种方式最好?请提供SQL查询示例

谢谢

1 个答案:

答案 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