mysql 自定义函数中 limit 后跟 变量 出现错误

CTO1206 2010-01-05 04:47:45
在自定义函数中
select max(s.date_name) into tempbegintime from supervise_calendar s where s.date_name>tempbegintime and s.cal_type='1' order by s.date_name asc limit 0,jg;

其中jg是一个变量,当jg换成数字,是正确的,当是变量时是错误的
...全文
620 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
老哥讲数据库 2010-01-07
  • 打赏
  • 举报
回复
DELIMITER //
CREATE PROCEDURE PROC_NAME(变量一,变量二)
BEGIN
DECLARE ssqlVARCHAR(100);
SET ssql="SELECT*FROM TABLE_NAEM LIMIT ?,?";
SET@fvar=变量一;
SET@svar=变量二;
SET@SQUERY=ssql;
PREPARE STMTFROM@SQUERY;
EXECUTE STMT USING@fvar,@svar;
END;//
DELIMITER ;
老哥讲数据库 2010-01-07
  • 打赏
  • 举报
回复
DELIMITER //
CREATE PROCEDURE PROC_NAME(变量一,变量二)
BEGIN
DECLARE ssql VARCHAR(100);
SET ssql="SELECT * FROM TABLE_NAEM LIMIT ?,?";
SET @fvar=变量一;
SET @svar=变量二;
SET @SQUERY=ssql;
PREPARE STMT FROM @SQUERY;
EXECUTE STMT USING @fvar,@svar;
END;
//
DELIMITER ;
WWWWA 2010-01-05
  • 打赏
  • 举报
回复
LIMIT中不能用变量,用字符串累计生成SQL语句及动态执行的方法
ACMAIN_CHM 2010-01-05
  • 打赏
  • 举报
回复
limit 中无法使用变量。

你想实现什么功能? 可以考虑通过其它方式来实现,比如 prepare /execute 语句

56,687

社区成员

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

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