MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka dan berkuasa. Ia menyokong prosedur tersimpan, yang merupakan blok kod SQL yang telah disusun sebelumnya yang melaksanakan beberapa fungsi atau tugas tertentu dalam pangkalan data. Prosedur tersimpan boleh mengurangkan kod pendua, meningkatkan kecekapan operasi pangkalan data, dan memastikan keselamatan.
Artikel ini akan memberi tumpuan kepada penggunaan prosedur tersimpan dan pemprosesan nilai pulangan dalam MySQL.
1. Penciptaan dan penggunaan prosedur tersimpan MySQL
Mencipta prosedur tersimpan MySQL termasuk langkah berikut:
CREATE PROCEDURE procedure_name (IN parameter_name DATA_TYPE)
Antaranya, PROSEDUR ialah kata kunci untuk mencipta prosedur tersimpan, procedure_name ialah nama prosedur yang disimpan, IN parameter_name ialah nama parameter input, dan DATA_TYPE ialah data. jenis parameter input.
BEGIN -- 存储过程语句 END
Antaranya, BEGIN dan END ialah kata kunci untuk menentukan pernyataan prosedur tersimpan. Penyataan SQL berbilang boleh ditulis antara BEGIN dan END untuk melaksanakan fungsi khusus prosedur yang disimpan.
CREATE PROCEDURE procedure_name (IN parameter_name DATA_TYPE) BEGIN SELECT * FROM table_name WHERE column_name = parameter_name; END
Antaranya, * ialah aksara kad bebas, yang bermaksud mengembalikan data semua lajur ialah nama_jadual ialah nama lajur;
2. Memanggil prosedur tersimpan MySQL
Selepas mencipta prosedur tersimpan MySQL, anda boleh menggunakan pernyataan CALL untuk memanggil prosedur tersimpan. Kaedah pelaksanaan khusus ialah:
CALL procedure_name(parameter_value);
Antaranya, CALL ialah kata kunci untuk memanggil procedure_name yang disimpan ialah nama parameter_value yang disimpan ialah nilai parameter yang dihantar kepada prosedur tersimpan;
3. Memproses nilai pulangan prosedur tersimpan MySQL
Prosedur tersimpan MySQL boleh mengembalikan dua jenis nilai: nilai tunggal dan set hasil. Untuk satu nilai, anda boleh menggunakan parameter OUT untuk mengembalikan nilainya dan untuk set hasil, anda boleh menggunakan CURSOR.
CREATE PROCEDURE procedure_name (IN parameter_name DATA_TYPE, OUT out_parameter_name DATA_TYPE)
di mana OUT ialah penyataan Kata kunci parameter OUT; out_parameter_name ialah nama parameter output, dan DATA_TYPE ialah jenis data parameter output.
Dalam pernyataan prosedur tersimpan, anda boleh menggunakan pernyataan SET untuk menetapkan nilai parameter OUT, seperti yang ditunjukkan di bawah:
CREATE PROCEDURE procedure_name (IN parameter_name DATA_TYPE, OUT out_parameter_name DATA_TYPE) BEGIN SET out_parameter_name = (SELECT COUNT(*) FROM table_name WHERE column_name = parameter_name); END
Antaranya, COUNT(*) ialah fungsi agregat yang mengembalikan jumlah bilangan rekod yang memenuhi syarat .
Apabila memanggil prosedur tersimpan, anda boleh menggunakan pernyataan SELECT untuk mendapatkan semula nilai parameter OUT, seperti yang ditunjukkan di bawah:
CALL procedure_name(parameter_value, @out_parameter_value); SELECT @out_parameter_value;
Antaranya, @out_parameter_value ialah pembolehubah pengguna yang digunakan untuk menyimpan nilai parameter OUT.
Kaedah pelaksanaan yang khusus ialah:
CREATE PROCEDURE procedure_name () BEGIN DECLARE cursor_name CURSOR FOR SELECT column_name FROM table_name; OPEN cursor_name; FETCH cursor_name INTO variable_name; WHILE @@FETCH_STATUS = 0 DO -- 处理结果集 FETCH cursor_name INTO variable_name; END WHILE; CLOSE cursor_name; END
Antaranya, DECLARE ialah kata kunci untuk mengisytiharkan CURSOR FOR SELECT column_name FROM table_name ialah pernyataan pertanyaan set hasil OPEN ialah kata kunci untuk buka CURSOR; FETCH ialah kata kunci untuk mendapatkan baris data seterusnya dalam CURSOR; MANAKALA @@FETCH_STATUS = 0 ialah syarat untuk menyemak sama ada keseluruhan set hasil telah dilalui ialah kata kunci untuk menutup CURSOR.
Apabila memanggil prosedur tersimpan, anda boleh menggunakan pernyataan SELECT untuk mendapatkan semula data dalam CURSOR, seperti yang ditunjukkan di bawah:
CALL procedure_name(); SELECT column_name FROM table_name WHERE condition;
4. Langkah berjaga-jaga untuk prosedur tersimpan MySQL
Dalam penggunaan Prosedur tersimpan MySQL , anda perlu memberi perhatian kepada perkara berikut:
Ringkasan:
Prosedur tersimpan MySQL ialah blok kod SQL pra-disusun yang boleh melaksanakan beberapa fungsi atau tugas tertentu dalam pangkalan data. Prosedur tersimpan boleh mengurangkan kod pendua, meningkatkan kecekapan operasi pangkalan data, dan memastikan keselamatan. Artikel ini memperkenalkan penciptaan, panggilan dan pemprosesan nilai balik prosedur tersimpan MySQL, serta perkara yang memerlukan perhatian apabila menggunakan prosedur tersimpan. Melalui penggunaan fleksibel prosedur tersimpan MySQL, pembangun boleh membantu pembangun menyelesaikan operasi pangkalan data dengan lebih cekap.
Atas ialah kandungan terperinci mysql mengembalikan prosedur tersimpan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!