我已经试过两种方式了,都行不通.方式一:
declare stmt varchar(500);
set @sqlstr=concat('SELECT * from ',tableName);
prepare stmt from @sqlstr;
DECLARE cursorTest CURSOR FOR execute stmt;
方式二:
set @sqlstr=concat('DECLARE cursorTest CURSOR FOR SELECT * FROM ',tableName,';');
prepare stmt from @sqlstr;
execute stmt;
DEALLOCATE PREPARE stmt;
declare stmt varchar(500);
set @sqlstr=concat('SELECT * from ',tableName);
prepare stmt from @sqlstr;
DECLARE cursorTest CURSOR FOR execute stmt;
方式二:
set @sqlstr=concat('DECLARE cursorTest CURSOR FOR SELECT * FROM ',tableName,';');
prepare stmt from @sqlstr;
execute stmt;
DEALLOCATE PREPARE stmt;
解决方案 »
- 这个需求,除了存储过程,还有其它方法么?
- ORDER BY,13位数时间,储存成INT快,还是其他时间格式快?
- mysql有没有非阻塞入库的接口?
- 查找数据库 排序显示
- 遇到的面试题 没做出来`郁闷的很
- 两个表之间的触发器,出现问题,请大家帮忙看一下
- MySql的存储过程怎么来写
- mysql中多表查询问题!
- 求大神帮我优化下改改mysql sql语句
- where、order by、limit 1 混合使用查询很慢的情况
- Cannot convert value '0000-00-00 00:00:00' from column 37 to TIMESTAMP.
- Mysql 数据导入执行的时间差 (比较诡异!!!)求大家帮忙解决 谢谢各位了
set @sqlstr=concat( 'create table tt as SELECT * FROM ',tableName, '; ');
prepare stmt from @sqlstr;
execute stmt;
DEALLOCATE PREPARE stmt;.....