Melaksanakan prosedur tersimpan MySQL
Prosedur tersimpan MySQL ialah satu set pernyataan SQL yang telah disusun dan disimpan pada pelayan. Mereka boleh menerima parameter input dan mengembalikan parameter output, atau mereka boleh melaksanakan pertanyaan SQL dan menghasilkan set hasil. Melaksanakan prosedur tersimpan MySQL boleh memudahkan proses pembangunan aplikasi pangkalan data dan meningkatkan kecekapan pengurusan data. Di bawah ialah langkah-langkah untuk melaksanakan prosedur tersimpan MySQL.
Langkah 1: Cipta prosedur tersimpan
Dalam MySQL, anda boleh menggunakan pernyataan prosedur cipta untuk mencipta prosedur tersimpan. Sintaksnya adalah seperti berikut:
BUAT [DEFINER = { pengguna | CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body
Di mana DEFINER menentukan nama pengguna pencipta prosedur tersimpan. Jika DEFIER tidak dinyatakan, pengguna semasa digunakan secara lalai. sp_name ialah nama prosedur tersimpan, dan proc_parameter menentukan parameter input dan output prosedur tersimpan. Ciri termasuk atribut prosedur tersimpan, seperti jenis bahasa, kaedah pengubahsuaian data, dsb. routine_body ialah koleksi pernyataan SQL yang dilaksanakan oleh prosedur tersimpan.
Sebagai contoh, buat prosedur tersimpan MySQL yang mudah untuk menanyakan maklumat pekerja tertentu. Ia memerlukan ID pekerja sebagai parameter input dan mengembalikan maklumat seperti nama pekerja, nama jabatan dan gaji. Penyata DDL adalah seperti berikut:
BUAT PROSEDUR get_employee_info(IN emp_id INT)
BEGIN
PILIH emp_name, dept_name, gaji
FROM pekerja, jabatan
WHERE employees._emp_id = emp DAN
departments.dept_id = employees.dept_id;
END;
Dalam contoh ini, kami mentakrifkan parameter input emp_id, yang digunakan untuk menentukan ID pekerja untuk maklumat yang hendak disoal. Prosedur tersimpan menggunakan pernyataan SQL SELECT untuk menanyakan maklumat seperti nama, nama jabatan dan gaji serta mengembalikannya kepada pemanggil.
Langkah 2: Laksanakan prosedur tersimpan
Untuk melaksanakan prosedur tersimpan MySQL, anda boleh menggunakan pernyataan CALL. Sintaksnya adalah seperti berikut:
CALL sp_name(argument_list);
Di mana, sp_name ialah nama prosedur tersimpan dan argument_list ialah senarai parameter yang dihantar kepada prosedur tersimpan. Dalam contoh kami, pernyataan berikut boleh digunakan untuk melaksanakan prosedur tersimpan:
CALL get_employee_info(1001);
Ini akan menanyakan maklumat pekerja dengan ID pekerja 1001 dan menambah nama , maklumat jabatan seperti nama dan gaji dikembalikan kepada pemanggil.
Jika prosedur tersimpan hanya melaksanakan beberapa pernyataan SQL tanpa mengembalikan hasil, anda boleh menggunakan sintaks berikut untuk melaksanakan prosedur tersimpan:
EXEC sp_name;
Sebagai contoh, berikut ialah Prosedur tersimpan MySQL yang mudah untuk menggandakan gaji pekerja di jabatan tertentu. Ia melakukan ini menggunakan kenyataan UPDATE, yang tidak mengembalikan hasil:
CIPTA PROSEDUR double_gaji(IN dept_name VARCHAR(50))
MULAI
KEMASKINI pekerja, jabatan
SET gaji = gaji * 2
WHERE employees.dept_id = departments.dept_id DAN
departments.dept_name = dept_name;
END;
Untuk melaksanakan prosedur tersimpan ini, anda boleh menggunakan pernyataan berikut:
EXEC double_gaji('Jualan');
Ini akan menggandakan gaji semua pekerja di bahagian jualan.
Langkah 3: Padamkan prosedur tersimpan
Jika prosedur tersimpan tidak lagi diperlukan, anda boleh menggunakan pernyataan DROP PROCEDURE untuk memadamnya. Sintaks adalah seperti berikut:
PROSEDUR DROP sp_name;
Di mana, sp_name ialah nama prosedur tersimpan yang akan dipadamkan.
Ringkasan
Prosedur tersimpan MySQL ialah alat pembangunan aplikasi pangkalan data yang sangat berkuasa yang boleh memudahkan kerja pengekodan dan penyahpepijatan. Dengan mentakrifkan prosedur tersimpan, kod SQL boleh dirangkumkan ke dalam fungsi atau prosedur, dengan itu mengurangkan beban kerja menulis pernyataan SQL berulang kali dan meningkatkan kebolehgunaan semula dan kebolehselenggaraan kod. Oleh itu, adalah sangat penting bagi pembangun yang mempunyai pengetahuan tertentu tentang MySQL untuk mahir dalam penggunaan prosedur tersimpan.
Atas ialah kandungan terperinci Jalankan prosedur tersimpan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!