Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Der beste Weg, um die Identität der eingefügten Zeile im verknüpften Server zu ermitteln?

Sie könnten sp_executesql der entfernten Seite verwenden :

DECLARE @ScopeIdentity TABLE (ID int);
INSERT INTO @ScopeIdentity
EXEC server.master..sp_executesql N'
  INSERT INTO database.schema.table (columns) VALUES (values);
  SELECT SCOPE_IDENTITY()';
SELECT * FROM @ScopeIdentity;

Alternativ können Sie OPENQUERY verwenden :

SELECT *
FROM OPENQUERY(server, '
  INSERT INTO database.schema.table (columns) VALUES (values);
  SELECT SCOPE_IDENTITY() AS ID');