pl/sql 游标

[size=large]
/*
游标
定义:cursor 游标名 is select 语句
*/
declare
  mysal emp.sal%type;
  cursor mycursor is
    select * from emp where sal > mysal;

  records mycursor%rowtype; --记录型变量
  myname  emp.ename%type;
begin
  mysal := 2000;
  /*
  打开游标
  1,将符合条件的记录送往内存
  2,将游标的指针移到第一条记录
  */
  open mycursor;
  /*
  提取游标中的数据
  语法:fetch 游标名 into 变量1,变量2....
  或者 fetch 游标名 into 记录型变量.
  */
  fetch mycursor into records;
  /*
    %found:判断游标的上一条记录是否有数据
  */
  /*
  if mycursor%found then
    dbms_output.put_line(records.empno);
  else
    dbms_output.put_line('没有发现数据');
  end if;
  */
  /*
    %notfound:判断游标的上一条记录是否没数据,一般用于退出循环
  */
  /*
  while mycursor%notfound loop
        dbms_output.put_line(records.empno);
  end loop;
  */
  /*
    %rowcount:判断游标的数据的行数
  */
  dbms_output.put_line(mycursor%rowcount);
  close mycursor;
end;[size=large][/size]

[/size]

你可能感兴趣的:(pl/sql)