主キーが自動生成される SQL Server CE テーブルへの挿入を行っています。挿入の完了後に主キーを取得するにはどうすればよいですか?
5097 次
3 に答える
7
主キーが ID フィールドであると仮定すると、SELECT @@IDENTITY
新しい行を挿入した後にクエリを使用できます。
于 2012-07-11T01:39:08.517 に答える
-1
主キーがテーブルのIDフィールドであることがわかります
SELECT IDENT_CURRENT('テーブル名')
于 2012-07-11T05:17:23.080 に答える
-1
これを行うには注意が必要です。あなたがする必要があるのは、選択を次のように設定したトランザクションです。
IDbCommand.CommandText += "; select scope_identity()";
object rtn = cmd.ExecuteScalar();
return (long)(decimal)rtn;
select scope_identity() の呼び出しは挿入の主キーではなく、最新の挿入であるため、トランザクション内の単一の選択が重要です。そうしないと、挿入後、最新の PK 挿入を要求する前に発生した別の挿入の主キーになる可能性があります。
注: scope_identity() は (繰り返し可能性があります) IDbCommand に結び付けられる可能性がありますが、以前はそうではなく、上記に従うことは安全です。
于 2012-07-11T05:12:02.817 に答える