mysql создает синтаксис строки вопроса 1 - PullRequest
1 голос
/ 28 июля 2010

Я получаю синтаксическую ошибку в строке 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 голосов
/ 13 февраля 2012

Чтобы удалить это из списка "без ответа" ...

Прогноз: вы используете версию 4.1, но хранимые процедуры не стали доступны до версии 5.0.

Проблема решена!

...