Rumah >pangkalan data >tutorial mysql >Bagaimanakah Klausa OUTPUT SQL Server Boleh Mendapatkan Nilai Sisipan Dijana Auto?

Bagaimanakah Klausa OUTPUT SQL Server Boleh Mendapatkan Nilai Sisipan Dijana Auto?

Barbara Streisand
Barbara Streisandasal
2025-01-17 13:21:09435semak imbas

How Can SQL Server's OUTPUT Clause Retrieve Auto-Generated Insert Values?

Mengakses Kekunci Dijana Automatik Post-INSERT dalam Pelayan SQL

Selalunya, anda memerlukan nilai kunci yang dijana secara automatik selepas operasi INSERT. Klausa OUTPUT SQL Server menawarkan kaedah yang diperkemas untuk mencapai ini, terutamanya berguna dari SQL Server 2008 dan seterusnya.

Contoh Ilustrasi:

Katakanlah kita mempunyai jadual yang dipanggil "orang" dengan lajur "id" (dijana secara automatik) dan "nama". Untuk menambah rekod dengan nama "bob" dan mendapatkan ID yang baru dijana, gunakan arahan ini:

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

Pecahan:

  • Klausa OUTPUT mengarahkan pengembalian nilai lajur yang ditentukan—dalam hal ini, "id"—dari baris yang baru dimasukkan.
  • Inserted bertindak sebagai jadual pseudo yang mewakili baris yang baru dimasukkan.
  • Inserted.id secara eksplisit memberitahu SQL Server untuk mengambil nilai "id" daripada baris yang dimasukkan.

Pertimbangan Lanjut:

  • Fasal OUTPUT mampu mendapatkan semula berbilang lajur; cuma senaraikan lajur yang diingini, dipisahkan koma.
  • Fungsinya melangkaui IDENTITY lajur untuk merangkumi lajur lain yang dijana secara automatik seperti GUID.
  • Sokongan untuk fasal OUTPUT bermula dengan SQL Server 2005.

Atas ialah kandungan terperinci Bagaimanakah Klausa OUTPUT SQL Server Boleh Mendapatkan Nilai Sisipan Dijana Auto?. 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