0

假设我在同一个实例下有 2 个数据库 DB1、DB2。我在每个数据库中有 2 个表,例如:

tab1(id1, ...): --id1 is identity column in DB1
tab2(id2,...) : --id2 is identity column in DB2

我在 DB1 SP 中有以下代码:

use DB1
declare @id2 int;
insert into tab1(...) values (...);
insert into DB2.dbo.tab2(...) values (...);
set @id2 = SCOPE_IDENTITY();

但我无法获得 id2 的正确值,它为空。如何解决这个问题?

4

1 回答 1

2

采用不同的方法,您可以尝试使用“输出”子句作为插入的一部分。

declare @output table (id int)

insert into DB2.dbo.tab2 (...)
output inserted.id2
into @output
values (...)

select @id2 = id from @output

我很确定这是输出的语法,但我没有测试过。

于 2012-05-09T19:24:43.040 回答