如何使用事务在多个表中插入数据

时间:2015-07-22 05:55:28

标签: c# sql sql-server-2008 stored-procedures

我的第一个表唯一键是子表中的外键,我在存储过程中使用事务,当我使用事务时问题然后第一个表插入的唯一键在提交查询之前没有显示任何值,第二个表&#39 ; s数据插入我需要在第一个表中插入行的唯一键。 我会使用where子句的select查询。 但是我的面试官说告诉我其他一些方法可以达到这个目的,他说他不能写"选择哪里" 100张桌子的陈述。

1 个答案:

答案 0 :(得分:3)

在这种情况下,您将使用SCOPE_IDENTITY()函数来检索父表中新插入行的标识。您的脚本应如下所示:

begin transaction
declare @parentId int;
insert into ParentTable(Value1, Value2) values('1', '2')

select @parentId = SCOPE_IDENTITY()
insert into ChildTable(ParentId, Value) values(@parentId, '3')
commit