oracle多表創建的視圖insert

單表創建的視圖是可以增、刪、改。多表創建的視圖是不能直接進行視圖添加等更新。

  解決辦法:替代觸發器。說道這,大家可能就都知道怎麼做了。

  create or replace trigger 名稱

  Instead Of Insert or update or delete

  on 視圖

  for each row

  Declare

  begin

  If Inserting Then

  Insert Into 基本表1 (t11,t12) Values (:New.f1,:New.f2);

  Insert Into 基本表2 (t11,t22) Values (:New.f1,:New.f3);

  elsif Updating Then

  Update 基本表1 set t11=:New.f1,t12=:New.f2 where t11=:New.f1;

  Update 基本表2 set t11=:New.f1,t22=:New.f3 where t11=:New.f1;

  elsif Deleting then

  Delete from 基本表1 where t11=:Old.f1;

  Delete from 基本表2 where t11=:Old.f1;

 

發佈了16 篇原創文章 · 獲贊 44 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章