我的目标是制作一个带文本的程序 - 可以包含成语 - 作为输入,输出应该是用替换每个成语后的文本,这意味着它们是一个名为“idioms”的表,它有两列:第一个是成语,叫做“成语”,第二个是成语意思,叫做“成语”,这是我的工作到现在为止:
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 :(得分:0)
在mysql中存在没有调用的循环。循环编码类似于下面给出的例子
while x<=5 do
select x;
end while;`
尝试使用游标。按照下面的说明重新选择您的选择语句,然后尝试
SELECT idiom FROM idioms WHERE idiom like concat('%',input,'%');