2015-01-26 2 views
0

У меня есть MySQL подпрограммы, которые не работают:Mysql рутина ошибка

delimiter #; 
create procedure ancien() 
BEGIN 
    declare postname CHAR; 
    declare ID INT; 
    declare count INT; 
    declare counter INT DEFAULT 0; 

    select count(*) INTO @count FROM network_2_posts; 

    LOOP: 'posts' 

    set counter = counter + 1; 

    IF counter <= count THEN select post_name, ID INTO @postname, @ID FROM network_2_posts; 
     UPDATE network_2_postmeta SET meta_value = @postname WHERE meta_key = 'wpcf-identifier' AND post_id = @ID; 
    END IF; 

    IF counter > count 
    THEN 
     LEAVE posts;  
    END IF; 

    END LOOP posts; 

END# 

MySQL показать ошибку на этой линии:

IF counter <= count THEN select post_name, ID INTO @postname, @ID FROM network_2_posts; 

после THEN ключевого слова.

Любая идея?

Thx много

Frédéric

+0

Что такое сообщение об ошибке? –

+1

Ничего, добавьте символ ввода между оператором if ... then и оператором select. –

+0

И как примечание стороны, '#;', вероятно, самый худший разделитель, который вы можете выбрать. Для комментариев используется символ '#'. Вероятно, это работает, но когда это произойдет, ваш разделитель будет '#;', а не только '#', поэтому ваш окончательный 'END' не будет прерван. – fancyPants

ответ

0

ТНХ.

Моя ошибка была заявлением LOOP.

Правильный один

сообщения: LOOP

и не

LOOP: сообщения

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