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

2 番目のクエリを使用せずに最後に挿入された ID を返す

    ほとんどの人は、次の方法でこれを行います:

    INSERT dbo.Users(Username)
    VALUES('my new name');
    
    SELECT NewID = SCOPE_IDENTITY();
      

    (または、クエリの代わりに、それを変数に割り当てます。)

    つまり、テーブルに対する 2 つのクエリではありません。 ...

    ただし、次の方法もあります:

    INSERT dbo.Users(Username)
    OUTPUT inserted.ID
    VALUES('my new name');
      

    ExecuteNonQuery でこれを取得することはできません。



    1. 遅いロケーションベースの検索結果クエリ

    2. デッドロック後のMySQLでのトランザクションの再開

    3. PHPを使用してmysqlテーブルのレコードの総数を取得するための最良の方法は何ですか?

    4. SQL sERVERで推定クエリ実行時間を特定する方法/ツールはありますか?