在Oracle中向视图中插入数据的方法
来源:asp之家 发布时间:2009-02-28 10:42:00
标签: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表能够查询到该表或者视图是否可更新。


猜你喜欢
- 为了实现Nao机器人与电脑端的TCP通信,于是研究了一下Python实现TCP通信,在网上也看到了很多例子,但大多都是在一台机器上验证。在两
- 前言本文记录了对于Python的数据类型中元祖(Tuple)和字典(Dict)的一些认识,以及部分内置方法的介绍。下面话不多说,来看看详细的
- 对大家推荐很好使用的MySql节点系统,像让大家对MySql节点系统有所了解,然后对MySql节点系统全面讲解介绍,希望对大家有用在向大家详
- 在C++11和C#中都有匿名函数的存在。下面看看在python中匿名函数的使用。1.lambda只是一个表达式,函数体比def简单很多。2.
- np.zeros()和np.ones()函数由于小阿奇在写代码的时候会碰到一些不清楚的函数和使用方法,所以我决定把自己碰到的问题和解决办法写
- HTTP-REFERER这个变量已经越来越不可靠了,完全就是可以伪造出来的东东。 以下是伪造方法:ASP/Visual Basic代码 di
- Python2.7Mac OS抓取的是电影天堂里面最新电影的页面。链接地址: http://www.dytt8.net/html/gndy/
- 熟悉pandas的pythoner 应该知道给dataframe增加一列很容易,直接以字典形式指定就好了,pyspark中就不同了,摸索了一
- 本文实例讲述了Python解决鸡兔同笼问题的方法,分享给大家供大家参考。具体分析如下:问题描述一个笼子里面关了鸡和兔子(鸡有 2 只脚,兔子
- 跑代码时,在命令行给python程序传入bool参数,但无法传入False,无论传入True还是False,程序里面都是True。下面是代码
- WordPress 的插件机制实际上只的就是这个 Hook 了,它中文被翻译成钩子,允许你参与 WordPress 核心的运行,是一个非常棒
- JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。而cookie是运行在
- 1、下面就来介绍一下如何简单的显示一个消息提示,好像js可以控制,不过这里用了django.contrib.messages这个库2、首先呢
- 1、上下文管理的使用场景凡是要在代码块前后插入代码的场景,这点和装饰器类似。资源管理类:申请和回收,包括打开文件、网络连接、数据库连接等;权
- mat数据格式是Matlab默认保存的数据格式。在Python中,我们可以使用h5py库来读取mat文件。>>> impo
- javascript 代码实现vbscript中的trim、left、right等函数兼容IE,FireFox。<style>b
- 在已有的shapefile文件的基础上增加字段: # -*- coding:gb2312 -*-import shapefiler=shap
- 我们在网页开发过程中经常会有打印页面的需求,通过JS来实现的方法有很多,这里我做了一个整理,供大家参考。方式一:window.print()
- 如何用我的国际域名做虚拟域名?config.asp<%Domain_URL = "intels.net&
- jQuery之所以如此流行并被从大公司到个人博客的几乎每个人都广泛使用,是因为它上手和使用相当简单,而且为我们提供了一些人都不知道的相当棒的