我正在运行这段用游标实现的代码 但运行后我得到if语句错误
declare
cursor cr is
select idd,name from tes;
begin
for n in cr
IF n.name = '' THEN
insert into tes2 values(n.idd,'$$$');
ELSE
insert into tes2 values(n.idd,n.name);
END IF;
end loop;
commit;
end;
错误:
在遇到以下其中一项时遇到符号“IF”:
。 (* @%& - + / at loop mod remaining rem .. || multiset
我的变量的类型是varchar2,如果n.name为NULL,我也尝试过,但是没有用。
答案 0 :(得分:0)
在for
语句后,您忘记添加loop
。 End loop
有,但没有循环开始。更改以下部分后尝试
for n in cr
loop
IF n.name = '' THEN
insert into tes2 values(n.idd,'$$$');
ELSE
insert into tes2 values(n.idd,n.name);
END IF;
end loop;