Rumah >pangkalan data >tutorial mysql >Bagaimanakah saya boleh melaksanakan prosedur yang disimpan untuk setiap baris yang dikembalikan oleh pertanyaan SQL?
penyelesaian berasaskan kursor
inilah contoh menggunakan kursor dalam MS SQL:
<code class="language-sql">DECLARE @field1 INT; DECLARE @field2 INT; DECLARE cur CURSOR LOCAL FOR SELECT field1, field2 FROM sometable WHERE someotherfield IS NULL; OPEN cur; FETCH NEXT FROM cur INTO @field1, @field2; WHILE @@FETCH_STATUS = 0 BEGIN -- Execute the stored procedure for each row EXEC uspYourSproc @field1, @field2; FETCH NEXT FROM cur INTO @field1, @field2; END; CLOSE cur; DEALLOCATE cur;</code>Kod ini melangkah melalui baris di
di mana sometable
adalah null. Untuk setiap baris, someotherfield
dilaksanakan dengan uspYourSproc
dan field1
sebagai parameter. field2
gelung. WHILE
Kaedah alternatif
tunggal selalunya pendekatan yang paling berkesan. Ini mengelakkan overhead pemprosesan berulang. UPDATE
Atas ialah kandungan terperinci Bagaimanakah saya boleh melaksanakan prosedur yang disimpan untuk setiap baris yang dikembalikan oleh pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!