Mendapatkan Nilai Identiti Baru Dijana dengan Klausa OUTPUT SQL Server
Apabila memasukkan data ke dalam pangkalan data SQL Server, selalunya anda memerlukan nilai identiti yang baru dijana untuk baris yang dimasukkan. Fasal OUTPUT
menyediakan cara yang bersih dan cekap untuk mencapai perkara ini. Artikel ini meneroka dua kaedah utama.
Kaedah 1: Output ke Konsol atau Penggunaan ExecuteScalar()
Untuk nyahpepijat pantas atau mendapatkan semula nilai identiti dalam konteks bukan T-SQL (seperti aplikasi .NET), klausa OUTPUT
boleh menghantar nilai terus ke konsol SSMS atau ditangkap menggunakan ExecuteScalar()
.
<code class="language-sql">INSERT INTO MyTable(Name, Address, PhoneNo) OUTPUT INSERTED.ID VALUES ('Yatrix', '1234 Address Stuff', '1112223333')</code>
Dalam .NET:
<code class="language-csharp">int newId = command.ExecuteScalar();</code>
Kaedah 2: Output ke Jadual Pembolehubah atau Jadual Sementara
Untuk senario yang memerlukan nilai identiti dalam prosedur atau kelompok tersimpan T-SQL, pembolehubah jadual atau jadual sementara menawarkan penyelesaian yang berkuasa. Klausa OUTPUT
mengarahkan nilai identiti yang dimasukkan ke dalam jadual ini, membolehkan pemprosesan selanjutnya dalam persekitaran T-SQL.
<code class="language-sql">DECLARE @OutputTbl TABLE (ID INT) INSERT INTO MyTable(Name, Address, PhoneNo) OUTPUT INSERTED.ID INTO @OutputTbl(ID) VALUES ('Yatrix', '1234 Address Stuff', '1112223333') -- Now you can use the ID from @OutputTbl SELECT ID FROM @OutputTbl;</code>
Teknik ini memperkasakan pembangun untuk mendapatkan semula nilai identiti yang dijana dengan lancar daripada INSERT
pernyataan, memudahkan penyahpepijatan, mengembalikan nilai kepada aplikasi dan mendayakan aliran kerja T-SQL yang kompleks.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Nilai Identiti Selepas Pernyataan INSERT Menggunakan Klausa OUTPUT SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!