欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Oracle中的 游标

程序员文章站 2024-02-10 13:25:58
...

游标

--游标,类似于java中的list,可以存放多个对象和多行记录
declare
cursor c1 is select * from account;
accountrow account%rowtype;
begin
  open c1;
       loop
         fetch c1 into accountrow;--从c1游标中循环拿出记录放到对应的类型的变量accountrow中
         exit when c1%notfound;--当c1中没有数据时退出
         dbms_output.put_line(accountrow.name);
       end loop;
  close c1;
end;

游标案例

--实现id为2的加100,id为3的减100
declare
  cursor c2(uid account.id%type) is --有变量的游标,设置变量名和变量类型
  select name from account where id = uid;--在游标中定义的变量可以作为条件直接使用
  uname account.name%type;
begin
  open c2(2);--打开游标,当打开游标时传入右边所必须的变量
     loop
       fetch c2 into uname;
       exit when c2%notfound;
       update account set money = money+100 where name = uname;
       commit;
     end loop;
  close c2;
end;

相关标签: Oracle oracle