Mendapatkan kunci utama GUID yang baru dimasukkan dalam SQL Server tanpa pembolehubah
Bekerja dengan GUID sebagai kunci utama sering memerlukan pengambilan GUID yang baru dimasukkan tanpa menggunakan pembolehubah. Artikel ini menunjukkan bagaimana untuk mencapai ini dengan cekap.
mengapa scope_identity () tidak berfungsi untuk panduan
tidak sesuai untuk mendapatkan GUID kerana ia hanya berfungsi dengan lajur identiti berasaskan integer. SCOPE_IDENTITY()
Penyelesaian: klausa output
klausa menyediakan penyelesaian yang bersih dan cekap, walaupun memasukkan pelbagai baris. OUTPUT
<code class="language-sql">CREATE TABLE dbo.GuidPk ( ColGuid uniqueidentifier NOT NULL DEFAULT NewSequentialID(), Col2 int NOT NULL ); DECLARE @op TABLE ( ColGuid uniqueidentifier ); INSERT INTO dbo.GuidPk (Col2) OUTPUT inserted.ColGuid INTO @op VALUES (1); SELECT * FROM @op; SELECT * FROM dbo.GuidPk;</code>
mengalihkan nilai yang dimasukkan OUTPUT
ke dalam jadual sementara ColGuid
. Seterusnya, pertanyaan @op
secara langsung mengambil GUID yang baru dimasukkan. Kaedah ini boleh dipercayai dan mengelakkan keperluan untuk pembolehubah. @op
Bacaan Lanjut:
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kunci Utama GUID yang Baru Dimasukkan dalam Pelayan SQL Tanpa Pembolehubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!