首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

请教怎么实现触发其中又要对自身进行遍历

2012-12-17 
请问如何实现触发其中又要对自身进行遍历?表t1结构为:JH——VARCHAR2(16)、DKDM——VARCHAR2(6) 、NY1——VARCHAR2

请问如何实现触发其中又要对自身进行遍历?
表t1结构为:
JH——VARCHAR2(16)、DKDM——VARCHAR2(6) 、NY1——VARCHAR2(6)、NY2——VARCHAR2(6)、XS——Number
想在Update时实现这样的功能:
假设有一条记录 jh1  A00001  200101  200112  3  被Update了,那么我要在t1中遍历JH为jh1的所有记录(如果JH字段也发生了变化,那么新老井号都要遍历一遍),将数据按照某种算法处理后插入到表t2中。
我写了个触发器,用cursor mycur is select * from t1 where jh=:new.jh 来遍历,但是这样似乎不行,报Ora-04091错误。
这个功能该如何实现呢?
[最优解释]
你可以在行级触发器(for each row)中把new.jh存储到session级变量中,例如package的公共变量。
然后在after update的表级触发器中把这个变量读出来进行某种计算,同步到T2中

热点排行