多表创建的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;  

 

 

 

 

【编辑推荐】

Oracle物化视图创建全过程

oracle时间加减的语句写法

Oracle死锁的处理

Oracle分页查询语句的写法

ORACLE创建实例的过程

责任编辑:段燃 来源: 互联网
相关推荐

2010-05-10 18:30:31

Oracle多表创建

2010-11-16 10:42:45

Oracle创建视图

2010-04-16 13:59:40

Oracle数据

2009-04-07 10:45:43

Oracle视图创建

2010-04-19 10:08:46

Oracle视图

2010-10-14 13:45:44

MySQL函数不能创建

2010-11-19 10:11:49

Oracle物化视图

2010-05-07 11:00:25

Oracle多表查询

2010-04-12 17:47:01

Oracle多表查询

2010-09-07 15:39:52

DB2创建跨库视图

2010-04-15 14:30:35

Oracle创建

2009-05-06 11:09:10

Oracle物化视图数据库

2010-04-19 10:20:19

Oracle参数

2010-04-19 11:21:39

Oracle视图

2010-10-28 16:42:04

oracle多表查询

2010-11-11 17:20:51

SQL Server创

2010-10-28 13:53:13

ORACLE存储过程

2010-10-26 16:43:58

查看Oracle索引

2009-10-29 15:56:12

Oracle用户权限视

2010-11-16 10:57:18

oracle创建视图
点赞
收藏

51CTO技术栈公众号