create or replace trigger njjjhb
before update,insert,delete on njjjhb
for each row
begin
if updating then
update njjjhb set
xmztz=xmztz-:old.xmztz+:new.xmztz
snljwc=snljwc-:old.snljwc+:new.snljwc
snjz=snjz-:old.snjz+:new.snjz
snjzzj=snjzzj-:old.snjzzj+:new.snjzzj
bnxz=bnxz-:old.bnxz+:new.bnxz
bnwc=bnwc-:old.bnwc+:new.bnwc
where pk=:new.parent;
esleif deleting then
update njjjhb set
xmztz=xmztz-:old.xmztz
snljwc=snljwc-:old.snljwc
snjz=snjz-:old.snjz
snjzzj=snjzzj-:old.snjzzj
bnxz=bnxz-:old.bnxz
bnwc=bnwc-:old.bnwc
where pk=:new.parent;
else inserting
update njjjhb set
xmztz=xmztz+:new.xmztz
snljwc=snljwc+:new.snljwc
snjz=snjz+:new.snjz
snjzzj=snjzzj+:new.snjzzj
bnxz=bnxz+:new.bnxz
bnwc=bnwc+:new.bnwc
where pk=:new.parent;
end if
end;
before update,insert,delete on njjjhb
for each row
begin
if updating then
update njjjhb set
xmztz=xmztz-:old.xmztz+:new.xmztz
snljwc=snljwc-:old.snljwc+:new.snljwc
snjz=snjz-:old.snjz+:new.snjz
snjzzj=snjzzj-:old.snjzzj+:new.snjzzj
bnxz=bnxz-:old.bnxz+:new.bnxz
bnwc=bnwc-:old.bnwc+:new.bnwc
where pk=:new.parent;
esleif deleting then
update njjjhb set
xmztz=xmztz-:old.xmztz
snljwc=snljwc-:old.snljwc
snjz=snjz-:old.snjz
snjzzj=snjzzj-:old.snjzzj
bnxz=bnxz-:old.bnxz
bnwc=bnwc-:old.bnwc
where pk=:new.parent;
else inserting
update njjjhb set
xmztz=xmztz+:new.xmztz
snljwc=snljwc+:new.snljwc
snjz=snjz+:new.snjz
snjzzj=snjzzj+:new.snjzzj
bnxz=bnxz+:new.bnxz
bnwc=bnwc+:new.bnwc
where pk=:new.parent;
end if
end;
解决方案 »
- win2003server中安装oracle10g,通过系统服务启动数据库有问题
- oracle 一张两条数据合并为一条数据
- 为什么a表里的所有数据被更新?
- jdbc连接ORACLE
- 各位高手,小弟遇到个 “无法解析指定的连接标识符” 问题,帮帮小弟吧!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 关于utf-8和gb2312的问题,急~~~~
- oracle企业版与oracle标准版的区别
- oracle怎么监视连接数?
- OCILIB连接数据库初始化失败
- sde服务启动后停止
- win2k服务器的计算机名称改变,已安装的oracle将无法启动其服务,请问如何解决?
- 从原理上分析,实现同一功能的两种方式哪种效率更高?
update njjjhb set .... --对触发表进行修改产生错误
for each row
再对表njjjhb进行update njjjhb set当然是不行。
create view v_njjjhb as select * from njjjhb;create or replace trigger njjjhb_01
INSTEAD OF insert on v_njjjhb
begin
update njjjhb set
xmztz=xmztz+:new.xmztz
snljwc=snljwc+:new.snljwc
snjz=snjz+:new.snjz
snjzzj=snjzzj+:new.snjzzj
bnxz=bnxz+:new.bnxz
bnwc=bnwc+:new.bnwc
where pk=:new.parent;
end;
其它也相应修改,以后所有插入就对v_njjjhb进行