Melaksanakan Prosedur Tersimpan untuk Setiap Baris Keputusan Pertanyaan dalam T-SQL
Untuk mengulangi hasil pertanyaan dan melaksanakan prosedur tersimpan untuk setiap baris, KURSOR boleh digunakan dalam T-SQL. KURSOR membolehkan anda mendapatkan semula satu baris pada satu masa daripada set hasil, menjadikannya sangat sesuai untuk senario ini.
Untuk mencapai fungsi gelung ini, langkah berikut menggariskan penyelesaian dalam T-SQL:
-
Isytiharkan pembolehubah yang diperlukan:
a. Isytiharkan pembolehubah integer @id untuk menyimpan nilai ID daripada setiap baris.
b. Isytiharkan pembolehubah kedua @nama, sebagai contoh, untuk menyimpan nilai lajur tambahan daripada jadual.
c. Isytiharkan pembolehubah KURSOR @getid untuk menahan kursor yang akan melalui baris.
-
Buat KURSOR:
Gunakan pernyataan SET untuk menetapkan nilai kepada @getid, di mana value ialah pernyataan SQL yang memilih lajur yang dikehendaki daripada jadual. Dalam contoh ini, kami memilih kedua-dua id dan nama.
-
Buka KURSOR:
Gunakan pernyataan OPEN untuk membuka KURSOR, menjadikannya tersedia untuk operasi pengambilan semula.
-
Ambil baris pertama:
Gunakan pernyataan FETCH NEXT untuk dapatkan semula baris pertama hasil yang ditetapkan ke dalam pembolehubah yang diisytiharkan (@id dan @nama).
-
Gelung melalui baris:
Gunakan gelung WHILE untuk lelaran melalui baris yang tinggal selagi @@FETCH_STATUS ialah 0, menunjukkan terdapat lebih banyak baris proses.
-
Laksanakan prosedur tersimpan:
Di dalam gelung, laksanakan prosedur tersimpan menggunakan pernyataan EXEC, melepasi parameter yang sesuai daripada baris semasa. Dalam contoh ini, kami lulus @id, @otherVarName dan @varForName.
-
Ambil baris seterusnya:
Selepas melaksanakan prosedur tersimpan, gunakan FETCH NEXT sekali lagi untuk mendapatkan yang seterusnya baris ke dalam pembolehubah yang diisytiharkan.
-
Tutup dan tukar peruntukan KURSOR:
Selepas memproses semua baris, gunakan penyataan TUTUP dan NYAHPERUNTUKKAN untuk melepaskan sumber KURSOR.
Dengan mengikut langkah ini, anda boleh mengulangi hasil pertanyaan dengan berkesan dalam T-SQL dan laksanakan prosedur tersimpan untuk setiap baris, membolehkan anda melakukan operasi tersuai berdasarkan yang diambil data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Prosedur Tersimpan untuk Setiap Baris yang Dikembalikan oleh Pertanyaan T-SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!