Bagaimana untuk menggunakan prosedur dan fungsi tersimpan dalam MySQL?
Dalam MySQL, prosedur dan fungsi tersimpan ialah satu set pernyataan SQL terkapsul yang boleh dipanggil berulang kali. Prosedur tersimpan ialah koleksi pernyataan SQL yang boleh dilaksanakan pada pelayan, manakala fungsi ialah blok kod bebas dan boleh digunakan semula. Perbezaan antara keduanya ialah prosedur tersimpan boleh mengembalikan beberapa set hasil, manakala fungsi hanya boleh mengembalikan satu nilai. Artikel ini akan memperkenalkan secara terperinci cara menggunakan prosedur dan fungsi tersimpan dalam MySQL, dan menyediakan beberapa contoh kod untuk rujukan pembaca.
1. Penggunaan prosedur tersimpan
Dalam MySQL, anda boleh menggunakan kenyataan CREATE PROCEDURE untuk mencipta prosedur tersimpan. Berikut ialah contoh kod untuk mencipta prosedur tersimpan mudah:
DELIMITER // CREATE PROCEDURE get_employee() BEGIN SELECT * FROM employee; END // DELIMITER ;
Dalam kod di atas, mula-mula gunakan pernyataan DELIMITER untuk mengubah suai pemisah kepada "//" untuk memisahkan definisi dan panggilan prosedur tersimpan. Kemudian gunakan pernyataan CREATE PROCEDURE untuk mencipta prosedur tersimpan bernama get_employee, di mana antara BEGIN dan END ialah blok kod prosedur tersimpan. Dalam contoh ini, prosedur tersimpan menanyakan semua maklumat daripada jadual bernama pekerja dan mengembalikan hasilnya.
Selepas mencipta prosedur tersimpan, anda boleh menggunakan pernyataan CALL untuk memanggilnya. Berikut ialah contoh kod untuk memanggil prosedur tersimpan di atas:
CALL get_employee();
Apabila memanggil prosedur tersimpan, anda boleh lulus parameter. Berikut ialah contoh prosedur tersimpan dan panggilan dengan parameter:
DELIMITER // CREATE PROCEDURE get_employee_by_id(IN employee_id INT) BEGIN SELECT * FROM employee WHERE id = employee_id; END // DELIMITER ; CALL get_employee_by_id(1);
Dalam kod di atas, parameter input bernama employee_id diisytiharkan dalam kurungan pernyataan CREATE PROCEDURE. Parameter ini kemudiannya digunakan dalam kod prosedur tersimpan untuk menapis hasil pertanyaan.
2. Penggunaan fungsi
Dalam MySQL, anda boleh menggunakan pernyataan CREATE FUNCTION untuk mencipta fungsi. Berikut ialah contoh kod untuk mencipta fungsi mudah:
CREATE FUNCTION calculate_total(price INT, quantity INT) RETURNS INT BEGIN DECLARE total INT; SET total = price * quantity; RETURN total; END;
Dalam kod di atas, pernyataan CREATE FUNCTION digunakan untuk mencipta fungsi yang dipanggil count_total. Senarai parameter fungsi diisytiharkan dalam kurungan Dalam contoh ini terdapat dua parameter: harga dan kuantiti. Blok kod fungsi adalah antara BEGIN dan END. Dalam contoh ini, fungsi mengira jumlah harga item dan mengembalikan hasilnya.
Selepas anda mencipta fungsi, anda boleh menggunakan pernyataan SELECT untuk memanggil fungsi dalam pertanyaan. Berikut ialah contoh kod untuk memanggil fungsi di atas:
SELECT calculate_total(10, 5);
Apabila memanggil fungsi dalam pernyataan SELECT, anda perlu menambah kurungan selepas nama fungsi dan lulus parameter yang sepadan. Kod di atas akan mengembalikan 50, iaitu hasil pengiraan 10 darab 5.
Ringkasan:
Dalam MySQL, prosedur dan fungsi yang disimpan adalah ciri yang sangat berguna yang boleh meningkatkan prestasi dan kebolehgunaan semula pangkalan data. Artikel ini menerangkan cara menggunakan prosedur dan fungsi tersimpan dalam MySQL dan memberikan contoh kod yang sepadan. Dengan menggunakan prosedur dan fungsi tersimpan secara rasional, anda boleh memudahkan penulisan dan penyelenggaraan kod serta meningkatkan kecekapan operasi pangkalan data.
Contoh kod di atas boleh dijadikan rujukan kepada pembaca untuk mengubah suai dan mengembangkan mengikut keperluan tertentu. Saya berharap pembaca dapat menggunakan sepenuhnya prosedur dan fungsi tersimpan dalam MySQL untuk mengoptimumkan operasi pangkalan data mereka berdasarkan mata pengetahuan yang disediakan dalam artikel ini.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan prosedur dan fungsi tersimpan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!