Oracle 游标

游标类型(静态游标(隐式  显示)   REF 游标)

隐式游标
(*  PL/SQL 为所有 sql 数据操纵语句(包括返回一行的查询)隐式声明游标. 
对于返回多行的查询, 应该使用显示游标分别访问这些行)
属性(%notfound    %found    %rowcount    %isopen)
e.g: 
begin
delete from table_name where col_name = 'value';
if sql%notfound then
   dbms_output.put_line('未找到值');
else
   dbms_output.put_line('找到值并删除之');
end if;
end;

显示游标
语句控制(open  fetch close)
属性(%notfound    %found    %rowcount    %isopen)
e.g: 
declare
col_type_name table_name.col_name%type;
cursor a is select col_name from table_name where col_name = 'value';
begin
   open a;
   loop
      fetch a into col_type_name;
      update table_name set col_name = 'value' where col_name = col_type_name;
      exit when a%notfound;
   end loop;
   close a;
end;

循环游标(隐式打开游标, 处理完所有行时关闭游标)
for record_name in cursor_name loop
  sequence_of_statements;
end loop;

REF 游标
属性(%notfound    %found    %rowcount    %isopen)
声明游标变量
type type_name is ref cursor return return_type;
打开游标变量进行查询
open cursor_var for select_statement;

你可能感兴趣的:(oracle,游标,隐式游标,显示游标,REF游标)