บทความนี้แสดงวิธีสร้าง Stored Procedure ใน MySQL เพื่อดึงข้อมูลทั้งหมดจากตาราง โดยใช้คำสั่ง SELECT * FROM ภายใน Procedure
สร้างตารางและข้อมูลตัวอย่าง
mysql> CREATE TABLE DemoTable654 (
StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentFirstName VARCHAR(100)
);
Query OK, 0 rows affected (0.70 sec)
mysql> INSERT INTO DemoTable654(StudentFirstName) VALUES('John');
mysql> INSERT INTO DemoTable654(StudentFirstName) VALUES('Sam');
mysql> INSERT INTO DemoTable654(StudentFirstName) VALUES('Mike');
mysql> INSERT INTO DemoTable654(StudentFirstName) VALUES('Robert');
สร้าง Stored Procedure
mysql> DELIMITER //
mysql> CREATE PROCEDURE getWholeTable()
BEGIN
SELECT * FROM DemoTable654;
END //
Query OK, 0 rows affected (0.16 sec)
mysql> DELIMITER ;
เรียกใช้ Stored Procedure
mysql> CALL getWholeTable();
ผลลัพธ์
+-----------+------------------+
| StudentId | StudentFirstName |
+-----------+------------------+
| 1 | John |
| 2 | Sam |
| 3 | Mike |
| 4 | Robert |
+-----------+------------------+
4 rows in set (0.08 sec)
Query OK, 0 rows affected (0.13 sec)
จุดสำคัญ: ใช้ DELIMITER // และ DELIMITER ; เพื่อเปลี่ยนตัวคั่นคำสั่งชั่วคราวขณะสร้าง Procedure