Mendapatkan Nilai Identiti Semasa Sisipan Pukal dalam SQL Server 2005
Apabila memasukkan berbilang rekod dari satu jadual ke jadual lain, ia boleh berguna untuk mendapatkan nilai identiti yang diberikan kepada rekod yang baru dimasukkan. Ini membolehkan kemas kini yang cekap pada jadual sumber dengan kunci asing merujuk jadual sasaran.
Memasukkan Rekod dan Mendapatkan Nilai Identiti
Dalam kes ini, kami ingin memasukkan rekod daripada jadual B ke dalam jadual A dan dapatkan semula nilai identiti rekod yang baru dimasukkan untuk mengemas kini medan "NewId" dalam jadual B.
Menggunakan Klausa OUTPUT
MS SQL Server 2005 menyediakan klausa OUTPUT yang membolehkan pengguna menangkap nilai yang dimasukkan semasa operasi pengubahsuaian data. Dalam kes ini, kita boleh menggunakannya seperti berikut:
DECLARE @output TABLE (id int) Insert into A (fname, lname) OUTPUT inserted.ID INTO @output SELECT fname, lname FROM B select * from @output
Dengan menggunakan klausa OUTPUT, kami mencipta pembolehubah jadual @output untuk menyimpan nilai identiti. The inserted.ID merujuk kepada nilai identiti rekod yang baru disisipkan dalam jadual A.
Selepas melaksanakan pernyataan sisipan, jadual @output akan mengandungi nilai identiti yang sepadan dengan baris yang disisipkan daripada jadual B. Anda boleh kemudian gunakan nilai ini untuk mengemas kini medan NewId dalam jadual B tanpa memerlukan kursor.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Nilai Identiti Selepas Sisipan Pukal dalam SQL Server 2005?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!