声明变量时按变量设置结果限制和错误

时间:2015-02-23 04:53:26

标签: mysql limit

我想将显示结果的限制从0设置为声明变量的值。但是我在声明变量时发现了错误,它说:"#1064 - 你的SQL语法出错。"。我知道DECLARE语句中只允许使用BEGIN ... END语法。但为什么我总是会收到错误?

这是我尝试过的:

BEGIN
DECLARE panjang INT DEFAULT 0
END;

SET panjang := 10;
SELECT * FROM `TABLENAME`
limit 0, panjang

你能告诉我这里缺少什么吗?我使用的是mysql版本5.5.34。

1 个答案:

答案 0 :(得分:1)

  1. 只允许在存储例程中使用DECLARE。
  2. 在存储的例程中,您可以使用LIMIT的变量构造SELECT;这使用CONCAT,PREPARE和EXECUTE。
  3. 如果这个SELECT来自其他一些编程语言(PHP,VB,Java等),我建议你在那里构建SQL,这样你就不必了解存储过程。