表变异,触发器/函数不能读???
我用erwin建了两个表A( F1(pk), F2 ) 和 B( F2(pk),F3 ),其中B表通过F2字段和A表有一个
null allows的non-identifying relationship,也就是说A表的F2或者在B中存在,或者为null.
erwin生成oracle表A、B和触发器TI_A、TU_A.
TI_A是当向A表insert后触发的逐行触发器
TU_A是从A表update后触发的逐行触发器
这两个触发器的内容一样,就是当添加或修改后,判断新的F2是否在B表中存在,如果不存在,
就将A表的F2设置为NULL.
DECLARE numrows INTEGER;
begin
update A
set
A.F2 = NULL
where
not exists (
select * from B
where
:new.F2 = B.F2
)
;
end;
但出现“表变异,触发器/函数不能读”的错误,如何解决?
触发器是erwin自动生成的,没改过

