sql >> データベース >  >> RDS >> Sqlserver

リンクサーバーに挿入された行のIDを取得する最良の方法は?

    リモート側のsp_executesqlを使用できます :

    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;

    または、OPENQUERYを使用することもできます :

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


    1. BETWEEN句と<=AND>=

    2. 複数のSQLステートメントを個々のSQLステートメントに分割する

    3. JavaでOracle10gデータベース接続タイムアウトを設定する

    4. MySQL列がNOTNULLに設定されていますが、NULL値を許可しています