Rumah > Artikel > pangkalan data > Fungsi prosedur MySQL
MySQL ialah sistem pengurusan pangkalan data yang sangat popular yang bukan sahaja menyokong sintaks SQL standard, tetapi juga menyediakan beberapa ciri lanjutan seperti prosedur dan fungsi yang disimpan. Artikel ini akan meneroka fungsi prosedur dalam MySQL.
Apakah fungsi proses?
Fungsi prosedur ialah blok kod boleh guna semula yang ditakrifkan dalam pangkalan data MySQL yang serupa dengan fungsi tetapi lebih berkuasa daripada fungsi. Fungsi prosedur boleh melaksanakan satu set pernyataan SQL, dan mereka boleh menggunakan operator logik dan pernyataan bersyarat untuk mengawal aliran. Fungsi prosedur juga boleh menerima parameter dan mengembalikan nilai, dan sintaksnya berbeza sedikit daripada sintaks SQL standard.
Sintaks untuk mentakrifkan fungsi prosedur dalam MySQL
Sintaks untuk mentakrifkan fungsi prosedur dalam MySQL adalah serupa dengan sintaks SQL standard, tetapi mempunyai beberapa kata kunci dan sekatan khusus.
Sintaks untuk mentakrifkan prosedur tersimpan:
CREATE PROCEDURE procedure_name ([parameter_list]) BEGIN -- SQL statements END;
Sintaks untuk mentakrifkan fungsi tersimpan:
CREATE FUNCTION function_name ([parameter_list]) RETURNS return_type BEGIN -- SQL statements RETURN return_value; END;
Dalam sintaks di atas, procedure_name
dan function_name
adalah untuk prosedur dan nama fungsi masing-masing. [parameter_list]
ialah senarai pilihan argumen yang boleh diluluskan apabila prosedur atau fungsi dipanggil. -- SQL statements
ialah pernyataan SQL yang perlu dilaksanakan oleh prosedur atau fungsi.
Dalam sintaks fungsi tersimpan, RETURN return_type
menentukan jenis pemulangan fungsi dan return_value
ialah nilai yang dikembalikan oleh fungsi.
Contoh Fungsi Prosedur dalam MySQL
Contoh prosedur tersimpan berikut menerima satu parameter IN
dan satu OUT
parameter, yang meningkatkan gaji tahunan pekerja dengan peratusan tertentu:
CREATE PROCEDURE raise_salary (IN emp_id INT, OUT new_salary DECIMAL(10, 2), IN raise_percent DECIMAL(4, 2)) BEGIN DECLARE current_salary DECIMAL(10, 2); SELECT salary INTO current_salary FROM employees WHERE id = emp_id; SET new_salary = current_salary + (current_salary * raise_percent); UPDATE employees SET salary = new_salary WHERE id = emp_id; END;
Dalam contoh di atas, DECLARE
digunakan untuk mengisytiharkan pembolehubah setempat, SELECT ... INTO
digunakan untuk menyimpan hasil pertanyaan ke dalam pembolehubah, SET
digunakan untuk menetapkan nilai dan UPDATE
digunakan untuk mengemas kini data.
Contoh fungsi tersimpan berikut menerima dua IN
parameter dan ia mengembalikan jumlah dua parameter:
CREATE FUNCTION add (IN a INT, IN b INT) RETURNS INT BEGIN DECLARE result INT; SET result = a + b; RETURN result; END;
Dalam contoh di atas, DECLARE
digunakan untuk mengisytiharkan pembolehubah setempat, SET
digunakan untuk tugasan, dan RETURN
digunakan untuk mengembalikan hasil.
Faedah menggunakan fungsi prosedur
Terdapat banyak faedah menggunakan fungsi prosedur, berikut adalah beberapa daripadanya:
Kesimpulan
Fungsi prosedur dalam MySQL ialah alat berkuasa yang boleh meningkatkan prestasi, kebolehselenggaraan dan fleksibiliti pertanyaan. Pembangun harus belajar cara menggunakannya untuk meningkatkan kecekapan aplikasi pangkalan data MySQL.
Atas ialah kandungan terperinci Fungsi prosedur MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!