Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mendapatkan Nilai Identiti Selepas Sisipan Pukal dalam SQL Server 2005?

Bagaimanakah Saya Boleh Mendapatkan Nilai Identiti Selepas Sisipan Pukal dalam SQL Server 2005?

Linda Hamilton
Lepaskan: 2024-12-29 14:05:11
asal
827 orang telah melayarinya

How Can I Retrieve Identity Values After Bulk Inserts in SQL Server 2005?

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan