例えば、次のフィールドu_id、プライマリキー、識別子、user_name......を含む新しいテーブルT_Userを作成します
次に新しい挿入操作を行います:
T_User(user_name,user_password,user_email,user_ipに挿入) 値('admin', '123456', '32962435@qq.com', '58.20.158.20')
いつか、新しい挿入データを追加する際に挿入されるu_idの値を取得したいと思っています。そして、MSSQL2005以降は出力を追加して特定の値を入力できるようになり、それを使ってそれを実現できることがわかっています
方法は2つあります。 一つは、例えば次の分野に直接入ることです。
Insert in T_User(user_name,user_password,user_email,user_ip) 出力inserted.u_id //output inserted.u_id は値の前に置かなければならず、SQL文の最後に置かなければ間違えます。insertedは固定されています。 現在挿入されているフィールドを入力したい場合は、このフィールドをたどってください。私たちが求めているのはu_id inserted.u_id 値('admin', '123456', '32962435@qq.com', '58.20.158.20')
もう一つの方法は@@identityを使うことです。@@identityシステムに組み込まれたグローバル変数で、最後の識別子を入力します。これは2ステップまたは1ステップで行うことができます
ワンステップ実装のコードは以下の通りです
T_User(user_name,user_password,user_email,user_ip)出力に挿入@@identity 値('admin', '123456', '32962435@qq.com', '58.20.158.20') |