mysql怎么把存储过程的参数用到limit中

rienzi 2010-05-31 09:36:48
这个存储过程

delimiter // ;
create procedure test(in record_count int)
begin
-- 以下这句出错
select * from friend limit 0,(select record_count);
end;
//

怎么把存储过程的输入参数用到select语句的limit的第二个参数中啊
...全文
201 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rienzi 2010-05-31
  • 打赏
  • 举报
回复
太谢谢了
ACMAIN_CHM 2010-05-31
  • 打赏
  • 举报
回复
更多关于PREPARE语法可以参考手册中的说明和例子。

MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
ACMAIN_CHM 2010-05-31
  • 打赏
  • 举报
回复
LIMIT后的参数无法直接使用变量。你可以使用 prepare来执行一个事先准备好的SQL语句。

set @cnt = 100;
set @sql = concat('select * from friend limit 0,',@cnt);
prepare stmt from @sql;
execute stmt;
DEALLOCATE PREPARE stmt;
wwwwb 2010-05-31
  • 打赏
  • 举报
回复
prepare asql from concat('select * from friend limit 0,',record_count);
execute asql;

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧