Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mendapatkan Nilai Identiti Dengan Cekap Selepas Memasukkan Berbilang Rekod dalam SQL Server?

Bagaimanakah Saya Boleh Mendapatkan Nilai Identiti Dengan Cekap Selepas Memasukkan Berbilang Rekod dalam SQL Server?

DDD
Lepaskan: 2025-01-04 22:44:42
asal
812 orang telah melayarinya

How Can I Efficiently Retrieve Identity Values After Inserting Multiple Records in SQL Server?

Memasukkan Berbilang Rekod dan Mendapatkan Nilai Identiti

Apabila memasukkan berbilang rekod ke dalam jadual, anda mungkin menghadapi keperluan untuk mendapatkan semula nilai identiti yang dijana untuk setiap rekod yang dimasukkan. Dalam kes ini, apabila anda memasukkan rekod daripada jadual B ke dalam jadual A dan ingin mendapatkan nilai identiti rekod yang dimasukkan, terdapat penyelesaian yang menghapuskan keperluan untuk kursor.

Dalam SQL Server 2005, anda boleh memanfaatkan klausa OUTPUT untuk menyelesaikan tugas ini. Klausa OUTPUT membolehkan anda menentukan pembolehubah jadual yang akan menerima output daripada pernyataan INSERT, termasuk nilai identiti baris yang baru dimasukkan.

Berikut ialah contoh:

DECLARE @output TABLE (id int)

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

Oleh menggunakan klausa OUTPUT, anda boleh mengisi pembolehubah jadual bernama "@output" dengan nilai identiti rekod yang dimasukkan. Anda kemudiannya boleh menanyakan pembolehubah jadual ini untuk mendapatkan semula nilai:

SELECT *
FROM @output
Salin selepas log masuk

Pendekatan ini membolehkan anda memasukkan berbilang rekod dengan cekap dan mendapatkan nilai identiti mereka tanpa menggunakan kursor atau pertanyaan tambahan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Nilai Identiti Dengan Cekap Selepas Memasukkan Berbilang Rekod dalam SQL Server?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan