如果我们想在存储过程中使用预编译语句,那么它必须写在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)
以上是我们如何在存储过程中使用预编译语句?的详细内容。更多信息请关注PHP中文网其他相关文章!