Các điều kiện cần trước khi viết stored procedure:
1. Phiên bản MySQL
MySQL 5+ mới hỗ trợ stored procedure. Kiểm tra:
mysql> SELECT VERSION(); +-----------+ | VERSION() | +-----------+ | 5.7.20 | +-----------+ 1 row in set (0.10 sec)
2. Quyền của user hiện tại
Cần quyền CREATE ROUTINE. Mặc định creator tự nhận ALTER ROUTINE và EXECUTE. Kiểm tra:
mysql> SHOW PRIVILEGES
3. Chọn database
Phải USE database trước khi tạo procedure:
mysql> USE query; Database changed
4. Chọn DELIMITER
Mặc định ; gây xung đột trong procedure (nhiều statement). Đổi delimiter hiếm dùng như // hoặc $$:
mysql> DELIMITER //
Kiểm tra delimiter mới:
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)