Masalah: Bagaimanakah kita boleh mendapatkan nilai kunci yang dijana secara automatik (seperti 'id' daripada lajur identiti) berikutan operasi INSERT
dalam SQL Server 2008?
Penyelesaian: SQL Server menawarkan kaedah mudah menggunakan klausa OUTPUT
:
<code class="language-sql">INSERT INTO table (name) OUTPUT Inserted.ID VALUES('bob');</code>
Klausa OUTPUT
mengarahkan pengembalian lajur yang ditentukan selepas INSERT
selesai. Di sini, kami memilih lajur ID
daripada Inserted
jadual pseudo, yang menyimpan data baris yang baru dimasukkan.
Penjelasan:
Apabila memasukkan data ke dalam jadual dengan lajur identiti, pangkalan data memberikan nilai baharu yang unik. Klausa OUTPUT
cekap mendapatkan semula nilai yang dijana ini serentak dengan INSERT
, mengelakkan keperluan untuk pernyataan SELECT
yang berasingan.
Nota Penting: Klausa OUTPUT
tidak terhad kepada lajur identiti; ia juga boleh mendapatkan semula lajur bukan identiti lain (termasuk GUID).
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Identiti Selepas INSERT dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!