工作,我已經在我做的插入,並通過調用SCOPE_IDENTITY()
SQL服務器:起牀SCOPE_IDENTITY()不與鏈接服務器
...
INSERT INTO [RemoteDB].[dbo].[Table] (StageID, UserID, Date)
VALUES (4, @userID, @date)
SET @id = SCOPE_IDENTITY()
INSERT INTO [RemoteDB].[dbo].[Table2] (ID)
VALUES (@id)
...
一切檢索該行的ID存儲過程工作正常,當我我的3數據庫在同一臺服務器上,但在生產中,其中一個數據庫是遠程的(所以我使用鏈接服務器)。
我的查詢的第一次插入工作,但第二次插入不運行。我認爲這是因爲SCOPE_IDENTITY()
。
我的錯誤是:
的OLE DB提供程序未能INSERT INTO ... 「的值違反了該列的完整性約束。」。
這意味着它不能夠得到的SCOPE_IDENTITY()
需要注意的是,我執行存儲過程不是在遠程服務器上的@id
,他們在當地的一個。
我做錯了什麼?
我知道,因爲它沒有檢索ID,但當我在同一臺服務器上擁有所有數據庫時,它會檢索它。 – user3127554
INSERT INTO [RemoteDB]。[dbo]。[Table](StageID,UserID,Date) OUTPUT Inserted.ID VALUES(4,@ userID,@date)'這可以有什麼幫助嗎? –
我的第一張插入作品,插入了一行。但它不會得到該行的ID(當我使用遠程srv) – user3127554