我有问题如下:
我需要判断某条记录是否存在然后去取值,表名和查询条件是一样的,我用了两个语句写,但执行感觉有些慢,想优化,哪位高人指点下。
例:
declare isnum number;
declare vf1 char(10);
declare vf2 char(10);
Select count(*) into isnum from table1 where id=:new.id;
if isnum>0 then
Select f1,f2 into vf1,vf2 from tabel1 where id=:new.id;
end if;以上能否优化合成一个语句执行?
我需要判断某条记录是否存在然后去取值,表名和查询条件是一样的,我用了两个语句写,但执行感觉有些慢,想优化,哪位高人指点下。
例:
declare isnum number;
declare vf1 char(10);
declare vf2 char(10);
Select count(*) into isnum from table1 where id=:new.id;
if isnum>0 then
Select f1,f2 into vf1,vf2 from tabel1 where id=:new.id;
end if;以上能否优化合成一个语句执行?
declare
vf1 varchar2(10);
vf2 varchar2(10);
begin
for x in (select f1,f2 from table1 where id=:new.id) loop
... -- 若有值,就在循环体内处理;若没有也不会报异常错误...
end loop;
end;
/