[英]MySQL - Stored Procedure limit issue
我已經在MySQL的SQLYog中編寫了一個存儲過程,如下所示:
分隔符$$
DROP PROCEDURE IF EXISTS
test
。spUser
$$創建過程
test
。spUser
(INspUser
INT,IN limit1 INT)BEGIN
從泛型中選擇gi.id,gi.user_id,concat(concat(first_name,''),last_name)作為全名,以gi作為配置文件,其中gi.user_id = p.user_id限制為start1,limit1;
END$$
定界符;
如果我已經編寫了以上代碼,則拋出錯誤號。 1064,如果我將極限start1,limit1替換為極限5,10,則它可以正常運行。
我該如何解決這個問題?
drop procedure if exists list_users;
delimiter #
create procedure list_users()
begin
set SQL_SELECT_LIMIT = 1;
select * from users;
set SQL_SELECT_LIMIT = DEFAULT;
end#
delimiter ;
select * from users;
+---------+----------+
| user_id | username |
+---------+----------+
| 3 | alpha |
| 2 | bar |
| 4 | beta |
| 1 | f00 |
+---------+----------+
4 rows in set (0.00 sec)
call list_users();
+---------+----------+
| user_id | username |
+---------+----------+
| 3 | alpha |
+---------+----------+
1 row in set (0.00 sec)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.