Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Kekunci Dijana Secara Automatik dalam SQL Server?

Bagaimana untuk Mendapatkan Kekunci Dijana Secara Automatik dalam SQL Server?

Susan Sarandon
Susan Sarandonasal
2025-01-17 13:26:13986semak imbas

How to Retrieve Automatically Generated Keys in SQL Server?

Mengakses Kunci Dijana Auto dalam Pelayan SQL

Apabila bekerja dengan jadual SQL Server yang mengandungi lajur ID yang dijana secara automatik, mendapatkan semula nilai yang baru dijana dengan cekap adalah penting. Panduan ini menunjukkan kaedah yang mudah dan berkesan menggunakan keupayaan terbina dalam SQL Server.

Penyelesaian:

Pernyataan INSERT ... OUTPUT menyediakan cara ringkas untuk memasukkan baris dan pada masa yang sama menangkap kunci yang dijana dalam satu operasi. Begini caranya:

<code class="language-sql">INSERT INTO table (name)
OUTPUT Inserted.ID
VALUES ('bob');</code>

Dalam contoh ini, table mewakili jadual anda dengan lajur ID yang dikonfigurasikan sebagai lajur identiti atau menggunakan jenis data yang menyokong penjanaan nilai automatik (seperti GUID). Klausa OUTPUT mengarahkan lajur baris yang baru dimasukkan, termasuk ID yang dijana, kepada set hasil sementara.

Alias ​​Inserted menyediakan akses kepada set hasil sementara ini, membenarkan pengambilan ID menggunakan Inserted.ID.

Aplikasi Praktikal:

Untuk menyimpan ID yang dijana dalam pembolehubah, gunakan yang berikut:

<code class="language-sql">DECLARE @id INT;
INSERT INTO table (name)
OUTPUT @id = Inserted.ID
VALUES ('bob');
SELECT @id;</code>

Pendekatan ini tidak terhad kepada lajur identiti; ia juga berfungsi dengan lajur jana automatik lain, seperti GUID. Contohnya:

<code class="language-sql">INSERT INTO table (guid)
OUTPUT Inserted.guid
VALUES (NEWID());</code>

Ini memasukkan baris dengan lajur GUID dan segera mendapatkan semula nilai GUID yang dijana.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kekunci Dijana Secara Automatik dalam SQL Server?. 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