2010-07-28 19 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之前變得可用。

問題解決!