动态游标问题
大家好,mysql的存储过程中,可以执行动态sql。请问一下,mysql是否支持动态游标呢(即用动态sql语句来声明游标,因为表名是参数传进来,sql语句必须是动态的),我试过几次了,好像都不行啊,谢谢各位赐教。。。 感觉理论上好像可以,没有试过... 同样的问题啊~~顶起来~~~ 大家好,mysql的存储过程中,可以执行动态sql。请问一下,mysql是否支持动态游标呢(即用动态sql语句来声明游 ...独步古今 发表于 2008-6-23 01:28 http://www.mysqlpub.com/images/common/back.gif
是可以的,用prepare语句吧,构造好一个语句,传参,执行。
举个例子:
DELIMITER $$
DROP PROCEDURE IF EXISTS `USP_kider`$$
CREATE DEFINER=`root` @ `localhost` PROCEDURE `USP_kider`(v_test VARCHAR(255))
BEGIN
IF(v_test IS NOT NULL AND v_test!='') THEN
SET @v_Statement1 = CONCAT('select * from ', v_test);
PREPARE ps_Statement1 FROM @v_Statement1;
EXECUTE ps_Statement1;
END IF;
END$$
DELIMITER ;
CALL USP_kider('yourtable');
页:
[1]