我正在运行跨服务器插入
INSERT INTO server.database.dbo.table (Field) VALUES('test')然后,我需要获取最后一次插入的id。但是,当我运行scope_identity函数时,我没有从外部服务器获得最新的id。
SELECT @ID=SCOPE_IDENTITY()如何从跨服务器插入中检索最后一个id?
发布于 2009-05-05 22:08:46
来自http://msdn.microsoft.com/en-us/library/ms187342.aspx
@@IDENTITY函数的作用域是执行该函数的本地服务器上的当前会话。此函数不能应用于远程或链接服务器。若要在其他服务器上获取标识值,请在该远程服务器或链接服务器上执行存储过程,并使该存储过程(在远程服务器或链接服务器的上下文中执行)收集标识值,并将其返回到本地服务器上的调用连接。
发布于 2009-05-05 22:09:50
我确信您必须将INSERT包装在远程链接服务器上的存储过程中,并让该存储过程返回标识列值。
参考:http://msdn.microsoft.com/en-us/library/ms187342.aspx
https://stackoverflow.com/questions/827118
复制相似问题