Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

Stored Procedure คืออะไร และวิธีสร้าง MySQL Stored Procedures

Stored procedure ในบริบทของภาษาคอมพิวเตอร์ทั่วไป อาจนิยามได้ว่าเป็น subroutine เช่น subprogram ที่จัดเก็บในฐานข้อมูล ในบริบทของ MySQL คือส่วนของคำสั่ง SQL แบบประกาศที่จัดเก็บไว้ในแคตตาล็อกฐานข้อมูล ก่อนเขียน stored procedures ใน MySQL เราต้องตรวจสอบเวอร์ชันก่อน เพราะ MySQL 5 เป็นตัวนำเสนอ stored procedure รูปแบบไวยากรณ์สำหรับการสร้าง stored procedure มีดังนี้

รูปแบบไวยากรณ์

CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body
proc_parameter: [ IN | OUT | INOUT ] param_name type
type: Any valid MySQL data type
characteristic: COMMENT 'string' | LANGUAGE SQL | [NOT] DETERMINISTIC | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } | SQL SECURITY { DEFINER | INVOKER }
routine_body: Valid SQL routine statement

ตัวอย่าง

ตัวอย่างต่อไปนี้เป็นการสร้าง procedure เรียบง่ายเพื่อดึงระเบียนทั้งหมดจากตาราง 'student_info' ซึ่งมีข้อมูลดังนี้

mysql> select * from student_info;
+-----+---------+------------+------------+
| id  | Name    | Address    | Subject    |
+-----+---------+------------+------------+
| 100 | Aarav   | Delhi      | Computers  |
| 101 | YashPal | Amritsar   | History    |
| 105 | Gaurav  | Jaipur     | Literature |
| 110 | Rahul   | Chandigarh | History    |
+------+--------+------------+------------+
4 rows in set (0.00 sec)

ตอนนี้ ด้วยความช่วยเหลือของคำสั่งต่อไปนี้ เราสร้าง stored procedure ชื่อ allrecords()

mysql> Delimiter //
mysql> Create Procedure allrecords()
    -> BEGIN
    -> Select * from Student_info;
    -> END//
Query OK, 0 rows affected (0.02 sec)
mysql> DELIMITER ;