oracle视图可以由单表创建,也可以多表创建。单表创建的oracle视图是可以增、删、改。多表创建的视图是不能直接进行oracle视图添加等更新。
解决办法:替代触发器。说到这,大家可能就都知道怎么做了。
createorreplacetrigger名称 InsteadOfInsertorupdateordelete on视图 foreachrow Declare begin IfInsertingThen InsertInto基本表1(t11,t12)Values(:New.f1,:New.f2); InsertInto基本表2(t11,t22)Values(:New.f1,:New.f3); elsifUpdatingThen Update基本表1sett11=:New.f1,t12=:New.f2wheret11=:New.f1; Update基本表2sett11=:New.f1,t22=:New.f3wheret11=:New.f1; elsifDeletingthen Deletefrom基本表1wheret11=:Old.f1; Deletefrom基本表2wheret11=:Old.f1;
相关文章
标签:Oracle