工作,我已经在我做的插入,并通过调用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