mysql创建过程语法问题第1行

时间:2010-07-28 19:57:48

标签: mysql stored-procedures syntax-error

我在以下过程的第1行遇到语法错误:

DELIMITER | 
CREATE PROCEDURE sp_autocallFillCallQueue
BEGIN 
    DECLARE maxCalls TINYINT(1);
    SELECT autocall_maxCalls INTO maxCalls FROM `options` LIMIT 0,1;

    REPEAT

        INSERT INTO `callQueue` (`phoneNumber`, 'waiting') 
        SELECT `phoneNumber` FROM `phoneNumbers` WHERE `accessRestriction` != 'blacklist' && `flagAutocall` = 1;

        SET maxCalls = maxCalls - 1;

        UNTIL maxCalls = 0
    END REPEAT;         

END;
|

我在此之前和之后设置分隔符。我有一种感觉它是愚蠢的(因为这是我的第一个mysql存储过程)。虽然我完全被难倒了。

仅供参考,这是错误:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PROCEDURE sp_autocallFillCallQueue
BEGIN
DECLARE @maxCalls TINYINT(1);
SELECT ' at line 1

1 个答案:

答案 0 :(得分:0)

要从“未答复”列表中删除此内容...

预测:您使用的是版本4.1,但存储过程在版本5.0之前不可用。

问题解决了!