如何在存储过程中使用预处理语句?
如果我们想在存储过程中使用预处理语句,则必须将其编写在 BEGIN 和 END 块内。为了理解它,我们创建了一个示例,借助该示例,我们可以通过将表名作为存储过程的参数来获取表中的所有记录。
示例
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)
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP