EXISTS方法¶
函数EXISTS(N)在第n个元素存在的情况下会返回TRUE,否则返回FALSE。我们主要使用EXISTS和DELETE来维护嵌套表。其中EXISTS还可以防止引用不存在的元素,避免发生异常。下面的例子中,PL/SQL只在元素i存在的情况下执行赋值语句
示例:EXISTS方法¶
--清理环境
DROP PROCEDURE proc;
DROP TABLE tab CASCADE;
create table tab(a varchar(2));
insert into tab values('a');
CREATE OR REPLACE PROCEDURE proc AS
declare
type table_typ is table of tab.a%type;
typ table_typ;
begin
typ:=table_typ('b');
if typ.exists(1) then
dbms_output.put_line('exit');
else
dbms_output.put_line('not exit');
end if;
end;
/
EXEC proc;
--删除
DROP PROCEDURE proc;
DROP TABLE tab CASCADE;
注解
当参数下标N越界时,EXISTS会返回FALSE,并不会抛出异常。