是否可以将表变量作为参数传递给MySql中的存储过程
ej83mcc01#
如果要将表作为参数传递到存储过程中,答案是否定的。只能传递标量值。可以通过表名直接访问该表;如果您想使用表名在过程中构造和运行新查询,那么请看一下prepared statements。
u5rb5r592#
通过查看预准备语句,我最终创建了以下存储过程:
DELIMITER $$ CREATE PROCEDURE `SELECT_FROM`(IN `TBName` VARCHAR(64)) BEGIN SET @SQLString = CONCAT("SELECT * FROM `", TBName, "` ;"); PREPARE qry FROM @SQLString; EXECUTE qry; END$$ DELIMITER ;
h22fl7wq3#
是的
TableA: MyId MyNumber 1 5 2 6 3 9 Select myNumber, MyStoredProcedure(MyNumber) from TableA where MyNumber > 5
3条答案
按热度按时间ej83mcc01#
如果要将表作为参数传递到存储过程中,答案是否定的。只能传递标量值。
可以通过表名直接访问该表;如果您想使用表名在过程中构造和运行新查询,那么请看一下prepared statements。
u5rb5r592#
通过查看预准备语句,我最终创建了以下存储过程:
h22fl7wq3#
是的