MySQL 如何在存储过程中使用预处理语句?

MySQL 如何在存储过程中使用预处理语句?

如果我们想在存储过程中使用预处理语句,则必须将其编写在BEGIN和END块内。为了理解它,我们创建了一个示例,借助该示例,我们可以通过将表名作为存储过程的参数来获取表中的所有记录。

阅读更多:MySQL 教程

示例

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)

现在调用此存储过程,将表名作为其参数,并显示该表的所有记录。

mysql> DELIMITER;
mysql> CALL tbl_detail('Student’);
+------+--------+
| Id   | Name   |
+------+--------+
|    1 | Ram    |
|    2 | Shyam  |
|    3 | Gaurav |
+------+--------+
3 rows in set (0.00 sec)
Query OK, 0 rows affected (0.03 sec)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程