Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Melewati Tatasusunan Rentetan dengan Cekap kepada Prosedur Tersimpan MySQL?
Soalan:
Dalam MySQL, bagaimana anda boleh melepasi tatasusunan rentetan dengan berkesan sebagai parameter kepada rutin yang disimpan? Tatasusunan mungkin mengandungi sejumlah besar elemen dengan panjang yang berbeza-beza. Matlamatnya adalah untuk memasukkan rentetan ini ke dalam jadual dalam memori untuk manipulasi data selanjutnya.
Contoh:
Pertimbangkan tatasusunan yang mengandungi nilai rentetan "Pisang, Apple, Jingga". Hasil yang diingini ialah jadual sementara dengan satu lajur, "fruitName," diisi dengan nilai ini.
Penyelesaian Kemungkinan:
Fungsi sampel yang disediakan menunjukkan cara untuk mencapai ini tugas dalam Microsoft SQL Server, tetapi ia mungkin tidak boleh digunakan secara langsung untuk MySQL. Teroka pendekatan alternatif untuk MySQL.
Pelaksanaan MySQL:
Anda boleh membina pertanyaan dinamik menggunakan pernyataan yang disediakan untuk menghantar tatasusunan sebagai rentetan dan mendapatkan hasil yang diingini. Berikut ialah ilustrasi:
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 ;
Penggunaan:
Untuk menggunakan prosedur tersimpan ini, ikuti langkah berikut:
SET @fruitArray = '\'apple\',\'banana\''; CALL GetFruits(@fruitArray);
Pendekatan ini membolehkan anda untuk menghantar tatasusunan rentetan dengan cekap dan menjana jadual dalam memori yang diperlukan untuk manipulasi data dalam MySQL.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melewati Tatasusunan Rentetan dengan Cekap kepada Prosedur Tersimpan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!