Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Sử dụng prepared statement trong MySQL stored procedure

Prepared statement trong stored procedure phải viết trong khối BEGIN...END. Ví dụ thủ tục nhận tên bảng, trả về toàn bộ dữ liệu:

mysql> DELIMITER //
mysql> CREATE PROCEDURE tbl_detail(tab_name VARCHAR(40))
    -> BEGIN
    -> SET @A := CONCAT('SELECT * FROM ', tab_name);
    -> PREPARE stmt FROM @A;
    -> EXECUTE stmt;
    -> END //
Query OK, 0 rows affected (0.00 sec)

Gọi thủ tục:

mysql> DELIMITER;
mysql> CALL tbl_detail('Student');
+------+--------+
| Id   | Name   |
+------+--------+
| 1    | Ram    |
| 2    | Shyam  |
| 3    | Gaurav |
+------+--------+

Quy trình: xây dựng SQL động → PREPARE → EXECUTE. Phải trong BEGIN/END.