從跨服務器插入獲取最後一個ID我運行一個跨服務器插入使用SQL Server
INSERT INTO server.database.dbo.table (Field) VALUES('test')
後來,我需要得到最後插入的ID。但是,當我運行scope_identity函數時,我沒有從外部服務器獲取最新的id。
SELECT @ID=SCOPE_IDENTITY()
如何從跨服務器插入中檢索最後一個id?
從跨服務器插入獲取最後一個ID我運行一個跨服務器插入使用SQL Server
INSERT INTO server.database.dbo.table (Field) VALUES('test')
後來,我需要得到最後插入的ID。但是,當我運行scope_identity函數時,我沒有從外部服務器獲取最新的id。
SELECT @ID=SCOPE_IDENTITY()
如何從跨服務器插入中檢索最後一個id?
從http://msdn.microsoft.com/en-us/library/ms187342.aspx
的@@ IDENTITY函數 的範圍是在其上執行在本地服務器上 當前會話。此功能 不能應用於遠程服務器或已連接的 服務器。到不同的服務器上獲取的標識值 ,該遠程或 鏈接服務器上執行 存儲過程,並且具有存儲 過程(其在遠程或鏈接 服務器的 上下文中執行)收集的標識值和 將其返回到本地服務器的 上的主叫連接。
我敢肯定,你將不得不將存儲過程中的INSERT包裝到遠程鏈接服務器上,並讓存儲過程返回IDENTITY列值。