我有一个如下查询
declare @str_CustomerID int
Insert into IMDECONP38.[Customer].dbo.CustomerMaster
( CustomerName , CustomerAddress , CustomerEmail , CustomerPhone )
values ( ‘werw12e’ , ‘jkj12kj’ , ‘3212423sdf’ , ‘1212121′
)
select @str_CustomerID= scope_identity()
执行后,它在我的参数中返回null。
我想获得身份的值(value)。我怎样才能做到这一点?
此处的主要问题是“IMDECONP38”-我使用的服务器名称。如果删除此选项,则可以在参数中获取identity的值。
最佳答案
当您使用“IMDECONP38”时,您会破坏SCOPE_IDENTITY,因为
如果在SQL Server 2005上,请尝试OUTPUT子句,但我不确定它如何用于链接服务器调用
Insert into IMDECONP38.[Customer].dbo.CustomerMaster
OUTPUT INSERTED.ID --change as needed
( CustomerName , CustomerAddress , CustomerEmail , CustomerPhone )
values ( ‘werw12e’ , ‘jkj12kj’ , ‘3212423sdf’ , ‘1212121′
)
编辑:Prutswonder首先说过:在链接的服务器上使用存储的proc
关于SQL Server身份问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2621887/