Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengulang Melalui Keputusan Pertanyaan T-SQL Menggunakan Kursor?

Bagaimana untuk Mengulang Melalui Keputusan Pertanyaan T-SQL Menggunakan Kursor?

Barbara Streisand
Lepaskan: 2024-12-30 14:47:14
asal
1075 orang telah melayarinya

How to Iterate Through T-SQL Query Results Using Cursors?

Menggelung melalui Keputusan Pertanyaan dalam T-SQL

Untuk menggelungkan hasil pertanyaan PILIH @id=table.id DARI jadual, anda boleh menggunakan CURSOR dalam T-SQL. Berikut ialah coretan kod yang menunjukkan cara untuk mencapai perkara ini:

DECLARE @id INT;
DECLARE @name NVARCHAR(100);
DECLARE @getid CURSOR;

SET @getid = CURSOR FOR
SELECT
    table.id,
    table.name
FROM
    table;

OPEN @getid;
FETCH NEXT
FROM @getid
INTO @id, @name;
WHILE @@FETCH_STATUS = 0
BEGIN
    EXEC stored_proc @varName = @id, @otherVarName = 'test', @varForName = @name;
    FETCH NEXT
    FROM @getid
    INTO @id, @name;
END;

CLOSE @getid;
DEALLOCATE @getid;
Salin selepas log masuk

Dalam skrip ini:

  • KURSOR bernama @getid dicipta untuk mengulang melalui hasil pertanyaan.
  • Pernyataan OPEN melaksanakan pertanyaan dan menyerahkan keputusan kepada kursor.
  • Pernyataan FETCH NEXT mendapatkan semula baris pertama hasil dan memberikan nilai kepada pembolehubah @id dan @name.
  • Gelung WHILE terus mengambil baris daripada kursor sehingga tiada lebih banyak baris untuk diproses.
  • Untuk setiap baris, pernyataan EXEC melaksanakan prosedur tersimpan stored_proc dengan parameter @varName, @otherVarName dan @varForName ditetapkan kepada nilai yang sepadan daripada jadual.
  • Selepas semua baris diproses, penyataan CLOSE dan DEALLOCATE menutup dan mengeluarkan kursor daripada memori.

Atas ialah kandungan terperinci Bagaimana untuk Mengulang Melalui Keputusan Pertanyaan T-SQL Menggunakan Kursor?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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