Задать вопрос
@vegarulez

[mysql] как правильно создать хранимую процедуру?

Привет всем!
Подскажите - не пойму почему phpmyadmin при создании хранимой процедуры ругается - вроде всё по "книжке" делаю но, он ругается когда нажимаю выполнить. делаю это в секции SQL в окне запроса. Напротив строки "wet : ..." стоит красный кружочек с крестиком, и подчеркнуто двоеточие красной волной... не нравится ему чот двоеточие.
Запрос:

CREATE PROCEDURE logs_clear (IN terem INT)
  begin
    DECLARE i INT DEFAULT 1001;
    IF (terem>1000) THEN
        wet : WHILE i < terem DO
          IF ((i>1100) and (i<1001)) THEN LEAVE wet;
          ENF IF;
          delete FROM concat(`log_`,i) WHERE YEAR(get_state)< YEAR(NOW());
          SET i=i+1;
       END WHILE wet;
    ELSE
        SELECT	'Задайте правильный параметр';
    END IF;
  end
//


ответ :

SQL запрос:

CREATE PROCEDURE logs_clear (IN terem INT)
begin
DECLARE i INT DEFAULT 1001

Ответ MySQL:
#1064 - 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 '' at line 3

Вопрос, как закриээйтить эту ХП??
  • Вопрос задан
  • 472 просмотра
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
27cm
@27cm
TODO: Написать статус
DELIMITER // меняете?

Без этого MySQL пытается выполнить запрос до первой точки с запятой:
CREATE PROCEDURE logs_clear (IN terem INT) begin DECLARE i INT DEFAULT 1001;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы