Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan Nilai Identiti Selepas Memasukkan Berbilang Rekod dalam SQL Server 2005 Tanpa Kursor?

Bagaimana untuk Mendapatkan Nilai Identiti Selepas Memasukkan Berbilang Rekod dalam SQL Server 2005 Tanpa Kursor?

Susan Sarandon
Lepaskan: 2024-12-31 13:29:10
asal
379 orang telah melayarinya

How to Retrieve Identity Values After Inserting Multiple Records in SQL Server 2005 Without Cursors?

Masukkan Berbilang Rekod dan Dapatkan Nilai Identiti

Apabila memasukkan berbilang rekod ke dalam jadual dengan lajur identiti, mendapatkan nilai identiti yang baru dijana boleh menjadi penting untuk manipulasi data seterusnya . Artikel ini meneroka cara untuk mencapai ini tanpa menggunakan kursor dalam Microsoft SQL Server 2005.

Penerangan Masalah

Pertimbangkan senario berikut: Anda mempunyai dua jadual, Jadual A dengan lajur identiti (id) dan Jadual B, yang mengandungi data berkaitan. Anda ingin memasukkan rekod daripada Jadual B ke dalam Jadual A dan mendapatkan nilai identiti masing-masing untuk mengemas kini lajur NewId dalam Jadual B.

Penyelesaian

SQL Server 2005 menyediakan mekanisme yang mudah melalui klausa OUTPUT untuk mendapatkan semula nilai identiti yang dijana semasa operasi sisipan. Kod berikut menunjukkan cara menggunakan ciri ini:

DECLARE @output TABLE (id int)

INSERT INTO A (fname, lname)
OUTPUT INSERTED.id INTO @output
SELECT fname, lname FROM B
Salin selepas log masuk

Pertanyaan ini akan memasukkan rekod daripada Jadual B ke dalam Jadual A dan menyimpan nilai identiti dalam pembolehubah jadual yang dipanggil @output. Pembolehubah jadual @output akan mengandungi satu lajur (id) dengan nilai identiti yang baru dijana, membolehkan anda mendapatkan semula dan menggunakannya untuk pemprosesan selanjutnya.

Contoh

Pertimbangkan contoh jadual dan data disediakan dalam huraian masalah. Selepas melaksanakan kod di atas:

-- Insert records into Table A and retrieve identity values
DECLARE @output TABLE (id int)

INSERT INTO A (fname, lname)
OUTPUT INSERTED.id INTO @output
SELECT fname, lname FROM B

-- Display the identity values in the table variable
SELECT * FROM @output
Salin selepas log masuk

Hasilnya ialah jadual dengan nilai identiti baris yang dimasukkan:

id
-------
1
2
3
Salin selepas log masuk

Nilai identiti ini kemudiannya boleh digunakan untuk mengemas kini NewId lajur dalam Jadual B dengan sewajarnya.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Identiti Selepas Memasukkan Berbilang Rekod dalam SQL Server 2005 Tanpa Kursor?. 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