Tạo thủ tục details nhận tên bảng làm tham số, dùng SQL động:
mysql> DELIMITER //
mysql> CREATE PROCEDURE details(tab_name VARCHAR(40))
-> BEGIN
-> SET @t := CONCAT('SELECT * FROM ', tab_name);
-> PREPARE stmt FROM @t;
-> EXECUTE stmt;
-> END //
Query OK, 0 rows affected (0.00 sec)
Gọi thủ tục:
mysql> DELIMITER;
mysql> CALL details('student_detail');
+-----------+-------------+------------+
| Studentid | StudentName | address |
+-----------+-------------+------------+
| 100 | Gaurav | Delhi |
| 101 | Raman | Shimla |
| 103 | Rahul | Jaipur |
| 104 | Ram | Chandigarh |
| 105 | Mohan | Chandigarh |
+-----------+-------------+------------+
Sử dụng PREPARE và EXECUTE để chạy SQL động được xây dựng từ tham số.