Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mendapatkan Nilai Identiti Selepas Pernyataan INSERT dalam SQL?

Bagaimanakah Saya Boleh Mendapatkan Nilai Identiti Selepas Pernyataan INSERT dalam SQL?

Linda Hamilton
Linda Hamiltonasal
2025-01-17 12:31:12471semak imbas

How Can I Retrieve the Identity Value After an INSERT Statement in SQL?

Mengambil Nilai Identiti Baru Dijana Selepas Penyata INSERT SQL

Selalunya, selepas memasukkan data ke dalam jadual SQL dengan lajur identiti peningkatan automatik, anda perlu mengakses ID yang baru dijana. Klausa OUTPUT menawarkan cara yang mudah untuk mencapai perkara ini.

Panduan ini menggambarkan dua kaedah biasa untuk mendapatkan semula nilai identiti menggunakan klausa OUTPUT:

Kaedah 1: Output ke Konsol (dan kemudian ke aplikasi anda)

Kaedah paling mudah mengeluarkan nilai identiti terus ke konsol. Ini berguna apabila berurusan dengan sisipan tunggal dan mendapatkan ID dalam kod aplikasi anda:

<code class="language-sql">INSERT INTO MyTable (Name, Address, PhoneNo)
OUTPUT INSERTED.ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333');</code>

Kod aplikasi anda (mis., menggunakan ExecuteScalar() ADO.NET) kemudiannya boleh menangkap nilai output tunggal ini.

Kaedah 2: Output ke Pembolehubah Jadual (untuk berbilang sisipan atau pemprosesan selanjutnya)

Untuk berbilang sisipan atau apabila anda perlu memproses ID yang dijana dalam kod T-SQL anda, gunakan pembolehubah jadual sebagai sasaran klausa OUTPUT:

<code class="language-sql">DECLARE @OutputTbl TABLE (ID INT);

INSERT INTO MyTable (Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl (ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333');

-- Now you can access the ID(s) from @OutputTbl
SELECT ID FROM @OutputTbl;</code>

Kaedah ini membolehkan anda bekerja dengan berbilang ID yang dimasukkan terus dalam prosedur tersimpan atau skrip T-SQL anda. Anda juga boleh menggunakan jadual sementara (#temp) atau pun jadual kekal sebagai sasaran output.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Nilai Identiti Selepas Pernyataan INSERT dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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