Melalukan Tatasusunan kepada Rutin Tersimpan MySQL
Keperluan biasa ialah menghantar tatasusunan nilai sebagai parameter kepada rutin disimpan MySQL. Walau bagaimanapun, tidak seperti kebanyakan sistem pengurusan pangkalan data lain, MySQL tidak menyokong fungsi ini secara asli.
Satu penyelesaian yang berdaya maju ialah menukar tatasusunan kepada rentetan dan menyampaikannya sebagai hujah. Rentetan ini kemudiannya boleh digunakan dalam rutin yang disimpan untuk mencipta jadual sementara menggunakan penyataan CONCAT() dan SELECT INTO:
DELIMITER $$ CREATE PROCEDURE GetFruits(IN fruitArray VARCHAR(255)) BEGIN SET @sql = CONCAT('SELECT * FROM Fruits WHERE Name IN (', fruitArray, ')'); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; END $$ DELIMITER ;
Dengan menghantar tatasusunan bertali ke dalam prosedur GetFruits, anda boleh mencipta sementara secara dinamik jadual yang mengandungi nama buah yang ditentukan, membolehkan pemprosesan selanjutnya dalam skrip anda.
Untuk menggunakan prosedur ini, anda boleh menetapkan tatasusunan rentetan kepada pembolehubah MySQL dan kemudian menggunakan rutin yang disimpan:
SET @fruitArray = '\'apple\',\'banana\''; CALL GetFruits(@fruitArray);
Pendekatan ini secara berkesan membolehkan anda menghantar tatasusunan nilai kepada rutin yang disimpan dalam MySQL, memudahkan operasi pangkalan data kompleks yang melibatkan senarai rentetan panjang pembolehubah.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menghantar tatasusunan kepada Prosedur Tersimpan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!