我有两张表,A表 和 B表,A表和B表都有一个parentid字段,表示父级ID,现在我写一个触发器(建在A表上)当对A表做增,删,改时分别对相应的数据在B表做同步触发,A表和B表只有NAME字段是一样的,当我向A表插入数据时,肯定要根据A表的parentid来找到A表parentid.name,然后才能找到B表对应的name,进而找到B表对应的id,这样往B表插入数据的时候,才可以有B表的parentid,现在是我访问A表后就会报ORA-04091: 表 HNTELANT.XB_UIMCARD 发生了变化, 触发器/函数不能读它错误,各位有什么好招,急求解,重赏!!触发器很长很长,我写几个关键的吧
建触发器 on A:
select name into v_name from A where ID IN (
SELECT parentid from a where id = :new.id);--找到A表父级name,--这一句异常,对自身触发表操作了select id into v_id from B where name = v_name;通过A表父级name,找到B表父级idinsert into b(id,name,parentid) values(s_b.nextval,:new.name,v_id );--如果做插入,同步数据到B表.有什么好的解决方法,不用访问自身表!