以下适用于 MYSQL 5.5 windows ,不适用于 MYSQL 5.1,ubuntu lucid
DELIMITER $$
CREATE PROCEDURE `queueup`( IN groupsize INT, OUT done INT)
BEGIN
DECLARE room INT;
SET room = -1;
UPDATE queue SET status = 'PLACED', assigned_room = room WHERE status = 'WAITING' ORDER BY queue_position ASC LIMIT groupsize;
END $$
SQL错误1064:
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近'groupsize;
答案 0 :(得分:1)
在MySQL 5.5中,LIMIT子句可以与变量一起使用;在你的情况下,“groupsize”是一个变量。
从the reference - 在存储程序中,LIMIT参数可以使用整数值例程参数或自MySQL 5.5.6起的局部变量来指定。