例如:DECLARE cur_0 CURSOR FOR SELECT * FROM User LIMIT offset_i,limit_i;其中offset_i和limit_i是存储过程的参数,保存存储过程不通过,换成具体常量可以通过,why?why?why?
跪求分页游标的解决方案...

解决方案 »

  1.   

    比较麻烦,目录来说 limit 中无法直接带参数,必须是常量。如果你只是执行还可以通过 
    set ssql = 'SELECT * FROM User LIMIT 10 ,20'PREPARE stmt1 FROM ssql;
    EXECUTE stmt1;这样实现。cursor 中你可以试一下不知道行不行。
      

  2.   

    动态执行SQL语句,
    SELECT * FROM User LIMIT offset_i,limit_i
    可以生成一个临时表,用游标打开
      

  3.   

    Thank you 两位,一语点醒梦中人,写存储过程,还蛮有挑战的.....