oracle游标小试

有时候需要大面积的修改数据,这个时候用循环语句效率不高。而临时表又不能满足点对点修改的时候,游标似一种不错的选择(PS:好像游标也是为循环而生的吧)

现在有两张表 t1(ryid number,name nvarchar2(50),salary number,paydate date……)用来存员工每月的工资

t2(ryid number,paySalary number)每个月发的工资数目  现将t2中的paySalary添加到t1中

可以直接用update来实现;

现用oracle的for游标来实现

 1 --定义游标
 2 declare
 3          cursor id--游标名称
 4          is
 5                 select ryid,salary from t2; --把需要的内容插入游标
 6          r_id  id%rowtype;--有点像ds 中的rows
 7 
 8 begin
 9     for r_id in id loop 
10         update t1 set t1.salary = r_id.paySalary   --内容
11             where t1.ryid=r_id.ryid; 
12     end loop;
13 end;

其他类型的游标也是差不多。

内容部分不能用select语句输出内容。

至此作为一个备忘

 http://www.cnblogs.com/sc-xx/archive/2011/12/03/2275084.html参考地址

天地何其大,人生何其短。 不困于一时,不困于一世。 且恒且坚,且苦且乐,且行且看。
原文地址:https://www.cnblogs.com/mozizhu/p/3834021.html