Rumah > Artikel > pangkalan data > pengembalian prosedur tersimpan mysql
Prosedur tersimpan MySQL ialah koleksi pernyataan SQL pra-tulisan yang boleh dipanggil sebagai unit. Prosedur tersimpan MySQL mempunyai banyak kelebihan, seperti meningkatkan prestasi pangkalan data, mengurangkan trafik rangkaian, menyatukan dan memudahkan logik perniagaan, dan meningkatkan keselamatan. Walau bagaimanapun, dalam proses menggunakan prosedur tersimpan MySQL, kadangkala kita juga perlu mengembalikan set hasil Artikel ini akan menyelidiki cara menggunakan prosedur tersimpan MySQL untuk mengembalikan set hasil.
Mencipta prosedur tersimpan MySQL adalah sangat mudah dan boleh dilakukan melalui kenyataan CREATE PROCEDURE. Berikut ialah contoh mudah prosedur tersimpan yang menerima dua parameter integer, menambahkannya dan mengembalikan hasilnya:
DELIMITER //
BUAT PROSEDUR add_numbers(IN num1 INT, IN num2 INT, OUT hasil INT)
MULAKAN
Hasil SET = num1 + num2;
TAMAT //
PENDELIMITER ;
Panggil The prosedur tersimpan juga sangat mudah, hanya gunakan pernyataan CALL. Berikut ialah contoh yang memanggil prosedur tersimpan yang dibuat di atas dan mencetak hasilnya ke konsol:
SET @a = 1;
SET @b = 2;
CALL add_numbers (@a, @ b, @result);
PILIH @result;
Jika anda perlu mengembalikan set hasil dalam prosedur tersimpan MySQL , maka anda boleh menggunakan CURSOR. KURSOR boleh digunakan untuk lelaran melalui set hasil dan menyimpan keputusan kepada pembolehubah. Berikut ialah contoh yang mengembalikan set hasil untuk senarai produk:
DELIMITER //
CIPTA PROSEDUR get_product_list()
MULAKAN
ISYTIHKAN selesai INT lalai SALAH;
ISYTIHKAN id INT;
ISYTIHKAN nama VARCHAR(255);
ISYTIHKAN kursor kursor UNTUK ID PILIH, nama DARIPADA produk;
ISYTIHKAN TERUS PENGENDALI UNTUK TIDAK DIJUMPAI SET selesai = BENAR;
BUAT JADUAL JIKA TIDAK WUJUD temp_product_list(id INT, name VARCHAR(255));
TRUNCATE JADUAL temp_product_list;
BUKA cur;
read_loop: LOOP
FETCH cur INTO id, name; IF done THEN LEAVE read_loop; END IF; INSERT INTO temp_product_list(id, name) VALUES(id, name);CLOSE cur;SELECT * FROM temp_product_list;
END //
DELIMITER ;
Atas ialah kandungan terperinci pengembalian prosedur tersimpan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!