当前位置:  数据库>oracle

在Oracle中向视图中插入数据的方法

    来源: 互联网  发布时间:2014-09-07

    本文导语:  插入视图的条件:   1.如果视图是基于一个基础表产生的,那么这就称为非连接视图,所有的非连接视图都是可以更新的,也就是说可以在该视图上进行,INSERT,UPDATE,DELETE的操作.   2.如果是连接视图,那就要遵守基本更新准则了.现在...

插入视图的条件:  
1.如果视图是基于一个基础表产生的,那么这就称为非连接视图,所有的非连接视图都是可以更新的,也就是说可以在该视图上进行,INSERT,UPDATE,DELETE的操作.  
2.如果是连接视图,那就要遵守基本更新准则了.现在我只对INSERT准则做一下说明:在INSERT语句中不能显式或隐式的引用到任何非码保留基础表中的字段,如果在定义视图中使用了WITH CHECK OPTION子句,那就不能对视图执行INSERT操作.  
注:码保留表,非码保留表的解释:  
在DEPT中,DEPT_NO是主码,EMP中,EMP_NO是主码  
然后建立连接视图:  
create view emp_dept as  
select emp.emp_no,emp.emp_name,emp.dept_no,dept.name  
from emp,dept  
where emp.dept_no=dept.dept_no  

这个视图中,EMP_NO仍然充当主码,所以EMP为码保留表,而DEPT中的DEPT_NO就不是主码了,所以为非码保留表.  

多张表关联后需要向视图插入数据,建议使用替代触发器 

create trigger [触发器名]
on [视图名]
instead of insert
as
begin
--声明变量;
--从inserted表中查出所有列的数据,分别赋给声明好的变量;

--用上面的数据向第一张表插入数据
--用上面的数据向第二张表插入数据
end

此外通过user_updatable_columns表能够查询到该表或者视图是否可更新。

    
 
 

您可能感兴趣的文章:

  • oracle 视图权限 oracle 创建视图权限不足
  • 用Oracle动态性能视图采集查询调优数
  • Hibernate,Oracle视图中字段小数点位数使用注意
  • Oracle查询表、视图、序列等信息查询
  • oracle中的视图详解
  • Oracle物化视图创建实例
  • Oracle的物化视图管理
  • Oracle中的概念:同义词、序列与视图
  • 浅谈Oracle中的物化视图
  • mysql触发器实现oracle物化视图示例代码
  • Oracle数据库视图与权限问题
  • 我从JSP页将数据插入到oracle数据库中,为何汉字插入后数据库中显示为乱码呢?
  • ejb的bmp向oracle表插入图片记录的问题!
  • 从jsp想oracle插入记录的顺序问题
  • 不能把几百个以上的汉字插入oracle varchar2类型的问题!
  • Oracle插入日期数据常见的2个问题和解决方法
  • 向Oracle数据库的CLOB属性插入数据报字符串过长错误
  • 快疯了:怎样从JSP中向Oracle_816中插入LONG型字符串?
  • Oracle 插入超4000字节的CLOB字段的处理方法
  • 在oracle下要在同一事务下插入多条记录,该怎么做??最好要有原代码
  • 请问在jsp中将系统当前时间插入到Oracle中Date字段中?(很急,在线等待)
  • 我要向oracle中插入大文本,用的是lang类型的字段,但是只能插3000字,再多就抱错,说我字符串过长。谁遇到过此问题?
  • 有关java.sql.ResultSet 利用SetDate往 oracle 中插入时间和日期的问题!!
  • 用jsp连上oracle后,在JSP中用(INSERT)插入中文数据后,显示乱码,有办法吗?
  • Oracle中如何插入特殊字符:& 和 '(多种解决方案)
  • Oracle千万条记录插入与查询小结
  • 小妹求教!!关于jsp操作oracle数据库操作的问题(文件读取,插入数据库表相应字段中)
  • Oracle中插入特殊字符:&和'的解决方法汇总
  • jsp向oracle数据库插入图片出错!急!为什么?
  • Oracle跨数据库查询并插入实现原理及代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下安装oracle后使用命令行启动的方法 linux启动oracle
  • ORACLE 中修改用户密码的方法
  • Linux下完全卸载ORACLE 10G的方法
  • 将Oracle 8i数据成功移植Oracle 10g的方法
  • Oracle Connect to Idle Instance解决方法
  • oracle增加表空间大小两种实现方法
  • linux下用ODBC链接Oracle怎么连啊?跪求具体方法!!!
  • Linux系统下查看oracle SID的方法
  • oracle 彻底删除方法
  • window中oracle环境变量设置方法分享
  • Oracle 忘记密码的找回方法
  • oracle的job不能运行问题的解决方法
  • Linux下Oracle 10G DBCA等汉字乱码解决方法
  • Oracle中serveroutput参数一次设置永久保存方法
  • Oracle指定IP访问数据库方法
  • Oracle SID存在解決方法
  • 登录oracle数据库时密码忘记的解决方法
  • PB7 连接 Oracle 的设置方法
  • Oracle查询表、视图、序列等信息查询 iis7站长之家
  • oracle删除文件后数据库启动不了的处理方法
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3