• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 在Oracle中向视图中插入数据的方法_Oracle应用_脚本之家

在Oracle中向视图中插入数据的方法_Oracle应用_脚本之家

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了在Oracle中向视图中插入数据的方等相关知识,希望本文的分享对您有所帮助

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

插入视图的条件:
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表能够查询到该表或者视图是否可更新。
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2018-12-05mysql如何删除表中的重复行并保留id较小(或者较大)的记录
  • 2018-12-05mysql_field_name入门教程:mysql_field_name零基础入门教程汇总
  • 2017-05-11MySQL-Python安装问题小记
  • 2018-12-05MySQL帮助的使用
  • 2018-12-05mysql——delete语法
  • 2017-05-11MySQL 相关的环境变量
  • 2018-12-05ubuntu环境下如何使Java连接MySQL数据库
  • 2017-05-11MYSQL主从不同步延迟原理分析及解决方案
  • 2017-08-28mysql和oracle的group by的rollup和cube
  • 2018-12-05mysql导入大批量数据出现MySQL server has gone away的解决方法

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • Mysql之库表操作的实例代码
    • 关于mysql_stat()函数的10篇文章推荐
    • mysql-connector-odbc-5.1.13-win32.msi安装成功后,ODBC数据源管理器无法显示该MySql驱动的问题
    • Linux实现安装MySQL的步骤分享(二进制分发版)(图文)
    • mysql自动化安装脚本(ubuntu and centos64)
    • 详细介绍阿里云CentOS7搭建Apache+PHP+MySQL环境
    • MySQL replace into 语句浅析(一)
    • 通过mysql show processlist 命令检查mysql锁的方法
    • mysql 增加和删除用户的访问权限和删除
    • Linux系统下查看mysql版本的四种方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有