Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan Nilai Identiti Baris yang Disisipkan dalam Pelayan SQL?

Bagaimana untuk Mendapatkan Nilai Identiti Baris yang Disisipkan dalam Pelayan SQL?

Patricia Arquette
Lepaskan: 2025-01-23 09:12:11
asal
713 orang telah melayarinya

How to Retrieve the Identity Value of an Inserted Row in SQL Server?

Mendapatkan ID Baris Yang Baru Ditambah dalam Pelayan SQL

Menambah baris pada jadual dengan lajur peningkatan automatik selalunya memerlukan mendapatkan ID yang baru dijana. SQL Server menawarkan beberapa cara untuk mencapainya, masing-masing mempunyai kelebihan dan kekurangannya sendiri. Memahami perbezaan ini adalah kunci untuk memilih kaedah terbaik untuk situasi anda.

Pendekatan Berbeza dan Nuansanya

@@Fungsi IDENTITI

Fungsi @@IDENTITY mengembalikan nilai identiti yang paling baru dijana merentas semua jadual dalam sesi pangkalan data semasa. Ini mudah, tetapi boleh menjadi tidak boleh dipercayai jika berbilang sisipan berlaku dalam sesi yang sama, yang berpotensi membawa kepada hasil yang salah.

SKOP_IDENTITI() Fungsi

SCOPE_IDENTITY() lebih tepat. Ia mengembalikan nilai identiti terakhir yang dijana dalam sesi semasa dan skop (cth., dalam prosedur atau kelompok yang disimpan). Ini menjadikan ia umumnya pilihan paling selamat dan paling disyorkan.

Fungsi_IDENT_CURRENT('tableName')

IDENT_CURRENT('tableName') secara langsung menyasarkan jadual tertentu. Ia mendapatkan semula nilai identiti terakhir yang dijana untuk jadual itu, tanpa mengira sesi atau skop. Ini berguna untuk menyemak ID terakhir yang diberikan pada jadual, walaupun tanpa sisipan terbaharu.

Menggunakan Klausa OUTPUT dengan INSERT

Pernyataan INSERT, apabila digabungkan dengan klausa OUTPUT, menawarkan kaedah langsung yang berkuasa. Ia membolehkan anda menangkap semua baris yang disisipkan oleh pernyataan, termasuk nilai identiti. Pendekatan ini merangkumi kenyataan itu sendiri, mengelakkan kemungkinan kekaburan. Ambil perhatian bahawa ini biasanya melibatkan memasukkan ke dalam jadual sementara atau pembolehubah jadual, yang menambahkan sedikit kerumitan.

Bila Gunakan Kaedah Yang Mana

  • Untuk kebanyakan senario, SCOPE_IDENTITY() ialah kaedah pilihan untuk mendapatkan nilai identiti yang baru dijana. Sifat khusus skopnya memastikan ketepatan.
  • Gunakan @@IDENTITY hanya apabila anda memerlukan nilai identiti terakhir merentas semua skop dan menyedari potensi ralat.
  • IDENT_CURRENT('tableName') berguna untuk mendapatkan semula nilai identiti terakhir untuk jadual tertentu, tanpa mengira sesi atau skop.
  • Pendekatan INSERT ... OUTPUT menyediakan kecekapan dan kawalan skop tetapi memerlukan persediaan tambahan. Pertimbangkan faedahnya terhadap kerumitan tambahan.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Identiti Baris yang Disisipkan dalam Pelayan SQL?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan