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

c#を使用したSQLServer挿入コマンドからの戻り値

    SCOPE_IDENTITYは、同じスコープのID列に挿入された最後のID値を返します。スコープはモジュールです:ストアドプロシージャ、トリガー、関数、またはバッチ。したがって、2つのステートメントが同じストアドプロシージャ、関数、またはバッチにある場合、それらは同じスコープにあります。

    SqlCommand.ExecuteScalarを使用して、挿入コマンドを実行し、1つのクエリで新しいIDを取得できます。

    using (var con = new SqlConnection(ConnectionString)) {
        int newID;
        var cmd = "INSERT INTO foo (column_name)VALUES (@Value);SELECT CAST(scope_identity() AS int)";
        using (var insertCommand = new SqlCommand(cmd, con)) {
            insertCommand.Parameters.AddWithValue("@Value", "bar");
            con.Open();
            newID = (int)insertCommand.ExecuteScalar();
        }
    }
    


    1. NetBeans 9.0、パート2のJava9でJShellを使用する

    2. 情報システム、データおよび情報

    3. MySQLの各グループで最初のレコードを取得する方法

    4. PostgreSQLの脆弱性ギャップを埋める方法