Best way to get identity of inserted row in Linked server?

前端 未结 3 711
生来不讨喜
生来不讨喜 2020-12-11 01:42

I am inserting record in a remote Sql Server using Linked server, Now I wanna get the id of inserted record. something like scope_identity() in local server. My

3条回答
  •  無奈伤痛
    2020-12-11 02:37

    try something like this:

    --when RemoteTable is (Rowid int identity(1,1) primary key, rowValue varchar(10))
    exec ('INSERT server.database.owner.RemoteTable (rowValue) VALUES (''wow'');select SCOPE_IDENTITY()')
    

    the EXEC will return a result set containing the SCOPE_IDENTITY() value

    if you have to do this for SQL Server 2005+ you can just add an OUTPUT INSERTED.IdentityColumn to get a result set of the identitie(s). Add an INTO onto that OUTPUT and you can store them in a table/table variable on the local machine.

提交回复
热议问题