程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 多表創建的oracle視圖不能插入操作的解決

多表創建的oracle視圖不能插入操作的解決

編輯:Oracle數據庫基礎

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

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

  1. create or replace trigger 名稱  
  2.  
  3. Instead Of Insert or update or delete  
  4.  
  5. on 視圖  
  6.  
  7. for each row  
  8.  
  9. Declare  
  10.  
  11. begin  
  12.  
  13. If Inserting Then  
  14.  
  15. Insert Into 基本表1 (t11,t12) Values (:New.f1,:New.f2);  
  16.  
  17. Insert Into 基本表2 (t11,t22) Values (:New.f1,:New.f3);  
  18.  
  19. elsif Updating Then  
  20.  
  21. Update 基本表1 set t11=:New.f1,t12=:New.f2 where t11=:New.f1;  
  22.  
  23. Update 基本表2 set t11=:New.f1,t22=:New.f3 where t11=:New.f1;  
  24.  
  25. elsif Deleting then  
  26.  
  27. Delete from 基本表1 where t11=:Old.f1;  
  28.  
  29. Delete from 基本表2 where t11=:Old.f1;  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved