2009-05-05 75 views
3

從跨服務器插入獲取最後一個ID我運行一個跨服務器插入使用SQL Server

INSERT INTO server.database.dbo.table (Field) VALUES('test') 

後來,我需要得到最後插入的ID。但是,當我運行scope_identity函數時,我沒有從外部服務器獲取最新的id。

SELECT @ID=SCOPE_IDENTITY() 

如何從跨服務器插入中檢索最後一個id?

回答

4

http://msdn.microsoft.com/en-us/library/ms187342.aspx

的@@ IDENTITY函數 的範圍是在其上執行在本地服務器上 當前會話。此功能 不能應用於遠程服務器或已連接的 服務器。到不同的服務器上獲取的標識值 ,該遠程或 鏈接服務器上執行 存儲過程,並且具有存儲 過程(其在遠程或鏈接 服務器的 上下文中執行)收集的標識值和 將其返回到本地服務器的 上的主叫連接。