2010-08-30 90 views
0

我想用一个存储过程向我的SQL Server数据库中插入一条记录,并且 捕获此插入行的ID(SCOPE_IDENTITY())以在另一个插入中使用它命令。使用SCOPE_IDENTITY执行两个INSERT和一个存储过程

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

任何想法?

谢谢你帮助我!

+1

我认为你的问题有点混乱。您正尝试向表中插入一行,然后在第一次插入中使用自动生成的ID插入另一个表中的另一行,然后从两个表中选择两行?你是这个意思吗? – JPReddy 2010-08-30 05:41:10

回答

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值数据的第二批。

相关问题