2010-06-16 3 views
0

Моя цель состоит в том, чтобы сделать процедуру, в которой текст должен содержать идиомы - как ввод, и он выводится, это текст после замены каждой идиомы, поскольку это таблица, называемая «идиомами», которая имеет два столбца: Во-первых, для идиомы называется «идиома», а второй для идиомы смысла и называется «idiomMeaning», и это моя работа до сих пор:Как я могу реализовать эту концепцию с помощью mysql?

delimiter // 
create procedure idioms_search (in input text, out output text) 

begin 

    WHILE EXISTS (SELECT idiom FROM idioms WHERE input LIKE CONCAT('%',@idiom,'%');) 

     SELECT REPLACE (@input,@idiom,@idiomMeaning) INTO output; 

end while; 

end 

// 

delimiter ; 

но предыдущий код содержит ошибки, есть предложения?

ответ

0

В mysql нет цикла, называемого while. Цикл кодируется, как приведенный ниже пример

while x<=5 do 
select x; 
end while;` 

попытаться использовать курсоры. Измените ваш оператор выбора, как указано ниже и попробуйте

SELECT idiom FROM idioms WHERE idiom like concat('%',input,'%'); 
+0

существует + оператор выбора = условие , что я пытался использовать это условие с, если заявление и оно работает отлично – knowledge

+0

существует ключевое слово может быть использовано с, если но не время. –

+0

Здесь никто не может мне помочь? – knowledge

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