为什么我们在检查 sql 中的字符串值时出错
Why do we get error for checking string value in sql
我运行这段代码是用游标实现的
但是我在 运行 it
之后得到 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;
错误:
Encountered the symbol "IF" when expecting one of the following:
. ( * @ % & - + / at loop mod remainder rem .. || multiset
我的变量类型是 varchar2 我也试过如果 n.name 是 NULL ,没用。
在 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;
我运行这段代码是用游标实现的 但是我在 运行 it
之后得到 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;
错误:
Encountered the symbol "IF" when expecting one of the following:
. ( * @ % & - + / at loop mod remainder rem .. || multiset
我的变量类型是 varchar2 我也试过如果 n.name 是 NULL ,没用。
在 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;