首页 > 代码库 > oracle游标小试

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参考地址