子表:movie (movieid(pk),toolid(fk))
父表:tool(toolid(pk))
当删除tool的时候把movie中的toolid字段置为空,老提示错误如下:
ORA-04091: 表 ANDY.MOVIE 发生了变化,触发器/函数不能读
ORA-06512: 在"ANDY.TD_TOOL", line 9
ORA-04088: 触发器 'ANDY.TD_TOOL' 执行过程中出错触发器内容如下:
ALTER TABLE movie
ADD ( FOREIGN KEY (toolid)
REFERENCES tool
ON DELETE SET NULL ) ;create or replace trigger tD_tool after DELETE on tool for each row
declare numrows INTEGER;
begin
update movie
set
movie.toolid = NULL
where
movie.toolid = :old.toolid;
-- ERwin Builtin Thu Apr 06 19:27:52 2006
end;
/
父表:tool(toolid(pk))
当删除tool的时候把movie中的toolid字段置为空,老提示错误如下:
ORA-04091: 表 ANDY.MOVIE 发生了变化,触发器/函数不能读
ORA-06512: 在"ANDY.TD_TOOL", line 9
ORA-04088: 触发器 'ANDY.TD_TOOL' 执行过程中出错触发器内容如下:
ALTER TABLE movie
ADD ( FOREIGN KEY (toolid)
REFERENCES tool
ON DELETE SET NULL ) ;create or replace trigger tD_tool after DELETE on tool for each row
declare numrows INTEGER;
begin
update movie
set
movie.toolid = NULL
where
movie.toolid = :old.toolid;
-- ERwin Builtin Thu Apr 06 19:27:52 2006
end;
/
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货