Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memanggil Prosedur Tersimpan untuk Setiap Baris dalam Jadual Tanpa Kursor?
Memanggil Prosedur Tersimpan untuk Setiap Baris Tanpa Kursor
Jika anda perlu menggunakan prosedur tersimpan untuk setiap baris dalam jadual, tetapi ingin mengelak daripada menggunakan kursor, anda boleh menggunakan pendekatan berasaskan set. Berikut ialah coretan kod untuk membimbing anda:
-- Declare & init (2008 syntax) DECLARE @CustomerID INT = 0 -- Iterate over all customers WHILE (1 = 1) BEGIN -- Get next customerId SELECT TOP 1 @CustomerID = CustomerID FROM Sales.Customer WHERE CustomerID > @CustomerId ORDER BY CustomerID -- Exit loop if no more customers IF @@ROWCOUNT = 0 BREAK; -- call your sproc EXEC dbo.YOURSPROC @CustomerId END
Kod ini berulang pada jadual, mendapatkan semula ID pelanggan seterusnya dan menggunakan prosedur tersimpan YOURSPROC dengan ID sebagai parameter. Ia meneruskan gelung ini sehingga tiada lagi pelanggan untuk diproses.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memanggil Prosedur Tersimpan untuk Setiap Baris dalam Jadual Tanpa Kursor?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!