2010-06-16 9 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 문을 바꿔 및

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

가 + SELECT 문을 존재 시도 = 내가 if 문에이 조건을 사용하려 조건 하고 그것을 잘 작동 – knowledge

+0

키워드가있는 경우와 아닌 동안 사용할 수 있습니다 존재한다. –

+0

여기 아무도 나를 도울 수 없습니까? – knowledge

관련 문제