Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Melaksanakan Prosedur Tersimpan untuk Setiap Baris yang Dikembalikan oleh Pertanyaan T-SQL?

Bagaimanakah Saya Boleh Melaksanakan Prosedur Tersimpan untuk Setiap Baris yang Dikembalikan oleh Pertanyaan T-SQL?

Susan Sarandon
Lepaskan: 2024-12-26 17:40:13
asal
158 orang telah melayarinya

How Can I Execute a Stored Procedure for Each Row Returned by a T-SQL Query?

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:

  1. 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.
  2. 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.
  3. Buka KURSOR:
    Gunakan pernyataan OPEN untuk membuka KURSOR, menjadikannya tersedia untuk operasi pengambilan semula.
  4. Ambil baris pertama:
    Gunakan pernyataan FETCH NEXT untuk dapatkan semula baris pertama hasil yang ditetapkan ke dalam pembolehubah yang diisytiharkan (@id dan @nama).
  5. Gelung melalui baris:
    Gunakan gelung WHILE untuk lelaran melalui baris yang tinggal selagi @@FETCH_STATUS ialah 0, menunjukkan terdapat lebih banyak baris proses.
  6. 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.
  7. Ambil baris seterusnya:
    Selepas melaksanakan prosedur tersimpan, gunakan FETCH NEXT sekali lagi untuk mendapatkan yang seterusnya baris ke dalam pembolehubah yang diisytiharkan.
  8. 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!

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