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

Lấy toàn bộ bản ghi bảng bằng cách truyền tên bảng vào tham số stored procedure MySQL

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ố.