请问我写的这个mysql的存储过程为什么报no data错误?
createproceduretransferAbsolutePath()begindeclareinfoidvarchar(100);declarelinkvarcha...
create procedure transferAbsolutePath()
begin
declare infoid varchar(100);
declare link varchar(500);
declare cur_1 CURSOR for select id,file_preview_url from information;
open cur_1;
loop
fetch cur_1 into infoid,link;
if link not like '/%' then
update information set file_preview_url=CONCAT("/",link) where id=infoid;
end if;
end loop;
close cur_1;
end
这是存储过程
需求是这样的 有一个表information表 该表有一个字段file_preview_url
要实现的是 如果link字段的值不是以"/"开头 则给这个字段的值之前加上/
比如
file_preview_url
555
/123
/345
执行完存储过程后
555就变成/555
而剩下那俩不变
我写的那个存储过程可以保存 但运行时报错no data - zero rows fetched,selected,or processed
这是怎么回事?
不要用select查询敷衍了事 要把表中的物理记录都修改了 展开
begin
declare infoid varchar(100);
declare link varchar(500);
declare cur_1 CURSOR for select id,file_preview_url from information;
open cur_1;
loop
fetch cur_1 into infoid,link;
if link not like '/%' then
update information set file_preview_url=CONCAT("/",link) where id=infoid;
end if;
end loop;
close cur_1;
end
这是存储过程
需求是这样的 有一个表information表 该表有一个字段file_preview_url
要实现的是 如果link字段的值不是以"/"开头 则给这个字段的值之前加上/
比如
file_preview_url
555
/123
/345
执行完存储过程后
555就变成/555
而剩下那俩不变
我写的那个存储过程可以保存 但运行时报错no data - zero rows fetched,selected,or processed
这是怎么回事?
不要用select查询敷衍了事 要把表中的物理记录都修改了 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询