%found, %type等都是系统常量... %found可以用于游标变量,%type可以用于plsql表 例1:
declare
cursor cur is select ... from ... ; ... while cur%found
loop
...
end loop; close cur;
...
使用 cur%found, cur%notfound 校验游标是否打开成功
例2:
sql>create table lookup
(id primary key,
description)
organization index
as
select object_id, object_name
from all_objects;
sql> declare
type lookupTableType is table of
lookup.description%type index by binary_integer;
declare
cursor cur is select ... from ... ; ... while cur%found
loop
...
end loop; close cur;
...
使用 cur%found, cur%notfound 校验游标是否打开成功
例2:
sql>create table lookup
(id primary key,
description)
organization index
as
select object_id, object_name
from all_objects;
sql> declare
type lookupTableType is table of
lookup.description%type index by binary_integer;
如果未打开是不是会自动抛出异常?%TYPE是什么意思.
好像要不要都没有什么关系一样.
难道是校验参数是否正确引用?
这么好的人怎么会有那样的中文名,真是好人难当啊。原来这些%后加一些东西的都是CURSOR的属性
%FOUND 布尔型 最近获取操作在表中找到一行就返回TRUE,否则FALSE。
%TYPE 返回的是类型。原来很简单。