2016-04-16 2 views
2

Я получаю синтаксическую ошибку в simple_loop: оператор цикла, говоряОшибка синтаксиса в mysql Loop. MariaDB

Unexpected character near ':' 

в строке simple_loop: LOOP

Пожалуйста, помогите

DELIMITER $$ 

CREATE PROCEDURE getTable(fullstr VARCHAR(555)) 

    BEGIN 
     DECLARE a INT Default 0 
     DECLARE str VARCHAR(255) 
     simple_loop: LOOP 
     SET a=a+1 
     SET str=SPLIT_STR(fullstr,",",a) 
     IF str='' THEN 
      LEAVE simple_loop 
     END IF 
     #Do Inserts into temp table here with str going into the row 
     insert into my_temp_table values (str) 
    END LOOP simple_loop 
END $$ 
+0

Позвольте мне угадать ... вы используете Workbench? –

+0

Нет. phpmyadmin – Kanishka

+2

Отсутствие ';' в нескольких местах вызывает проблемы. –

ответ

1

Это очень раздражает MySQL, связанные с синтаксисом вопрос : Существует ТАБ где-то в вашей процедуре, ведущей к этой проблеме синтаксического анализа.

Примечание: Отдельные ;

DELIMITER $$ 

    CREATE PROCEDURE getTable(fullstr VARCHAR(555)) 

     BEGIN 
      DECLARE a INT Default 0 ; 
      DECLARE str VARCHAR(255); 
      simple_loop: LOOP 
      SET a=a+1; 
      SET str=SPLIT_STR(fullstr,",",a); 
      IF str='' THEN 
       LEAVE simple_loop; 
      END IF; 
      #Do Inserts into temp table here with str going into the row 
      insert into my_temp_table values (str); 
     END LOOP simple_loop; 
    END $$ 
+0

, если я использую; , Я вижу ошибки везде. Поэтому пришлось удалить его. – Kanishka

+1

Он работает для меня, какую ошибку вы получаете? –

+0

Обратите внимание, что ';' не требуется _everywhere_. Но в нем не хватало нескольких мест. –

Смежные вопросы