0
我想用一个存储过程向我的SQL Server数据库中插入一条记录,并且 捕获此插入行的ID(SCOPE_IDENTITY())以在另一个插入中使用它命令。使用SCOPE_IDENTITY执行两个INSERT和一个存储过程
因为我想执行那两个select命令一个接一个,如果一个没有通过另一个没有通过呢!
任何想法?
谢谢你帮助我!
我想用一个存储过程向我的SQL Server数据库中插入一条记录,并且 捕获此插入行的ID(SCOPE_IDENTITY())以在另一个插入中使用它命令。使用SCOPE_IDENTITY执行两个INSERT和一个存储过程
因为我想执行那两个select命令一个接一个,如果一个没有通过另一个没有通过呢!
任何想法?
谢谢你帮助我!
你需要做这样的事情:
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值数据的第二批。
我认为你的问题有点混乱。您正尝试向表中插入一行,然后在第一次插入中使用自动生成的ID插入另一个表中的另一行,然后从两个表中选择两行?你是这个意思吗? – JPReddy 2010-08-30 05:41:10