单表建树的相关视图在现实的操作中,可以对其进行增、删与改。Oracle数据库多表建树的视图是不能直接进行视图添加等更新。今天和巨匠分享的是Oracle多表建树的视图insert的现实操作, 解决法子:替代触发器。说道这,巨匠可能就都知道怎么做了。! a* W0 h+ u1 ~% A: p* b( l3 r' ?
create or replace trigger 名称
$ \& p+ Q- y0 n 1.Instead Of Insert or update or delete6 K! B! H, r, I: h
on 视图1 H$ o0 S* \3 F0 @0 |/ {$ J* m
1.for each row; r& k& ~6 C9 p, ^* p" {
2.Declare+ _+ c0 [; |) @0 R
3.begin* ~% \+ i; w+ s4 _* C
4.If Inserting Then! ~% Q8 e$ x+ L8 p% c( o
Insert Into 根基表1 (t11,t12) Values (:New.f1,:New.f2);% @5 V5 g& V8 l; m' K! I
Insert Into 根基表2 (t11,t22) Values (:New.f1,:New.f3);
7 v. X9 T3 F+ h1 {+ m3 r 1.elsif Updating Then4 b% z: J6 _( m
Update 根基表1 set t11=:New.f1,t12=:New.f2 where t11=:New.f1;8 v+ H2 p* n3 v
Update 根基表2 set t11=:New.f1,t22=:New.f3 where t11=:New.f1;) O! a, ?: O8 o6 s; \ v
1.elsif Deleting then
1 c% g; y" E) x Delete from 根基表1 where t11=:Old.f1;
% c) L/ ~% o3 { Delete from 根基表2 where t11=:Old.f1; |