使用SCOPE_IDENTITY执行两个INSERT相同的存储过程

时间:2010-08-30 05:36:11

标签: sql-server stored-procedures

我想使用存储过程将记录插入到我的SQL Server数据库中 捕获此插入行的ID(SCOPE_IDENTITY())以在另一个插入命令中使用它。

因为我想执行那两个选择命令一个接一个,如果一个没有通过另一个也没有通过!

任何想法?

感谢您帮助我!

1 个答案:

答案 0 :(得分:1)

你需要做这样的事情:

DECLARE @NewID INT

INSERT INTO dbo.FirstTable(Col1, Col2, ...., ColN)
   VALUES(Value1, Value2, ....., ValueN)

SELECT @NewID = SCOPE_IDENTITY()

INSERT INTO dbo.SecondTable(IDColumn, ColA, ColB, .., ColZ)
  VALUES(@NewID, ValueA, ValueB, ...., ValueZ)

应该将第一组数据插入dbo.FirstTable,将新创建的ID抓取到@NewID,然后使用新的ID值插入第二批数据。