2010-07-28 20 views
1

我得到以下程序的第一行的语法错误:MySQL的创建过程语法问题行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 
+0

已解决:error was user。我有版本4.1和存储过程在5.0中可用。 – rageingnonsense 2010-07-28 20:51:12

回答

0

为了从“悬而未决”列表中删除此...

预测:您正在使用4.1版本,但存储过程没有在版本5.0之前变得可用。

问题解决!