Oracle视图添加约束,Oracle创建视图的语法

Oracle创建视图的语法

导读:就爱阅读网友为大家分享了多篇关于 "oracle 创建序列语法" 资料,内容精辟独到,非常感谢网友的分享,希望从中能找到对您有所帮助的内容。

相关资料一 : Oracle 创建视图的语法

Oracle 创建视图的语法非常重要,因为 Oracle 创建视图使我们最常用的操作之一,在学习 Oracle 创建视图的语法之前,先让我们了解一下什么是视图。

视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表。

视图是存储在数据字典里的一条 select 语句。 通过 Oracle 创建视图可以提取数据的逻辑上的集合或组合。

视图的优点:

1. 对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。

2. 用户通过简单的查询可以从复杂查询中得到结果。

3. 维护数据的独立性,试图可从多个表检索数据。

4. 对于相同的数据可产生不同的视图。

视图分为简单视图和复杂视图

视图的创建:CREATE[ORREPLACE][FORCE|NOFORCE]VIEWview_name

[(alias[,alias]...)]

ASsubquery

[WITHCHECKOPTION[CONSTRAINTconstraint]]

[WITHREADONLY]

其中:OR REPLACE :若所创建的试图已经存在,ORACLE 自动重建该视图;FORCE :不管基表是否存在 ORACLE 都会自动创建该视图;NOFORCE :只有基表都存在 ORACLE 才会创建该视图:alias :为视图产生的列定义的别名;subquery :一条完整的 SELECT 语句,可以在该语句中定义别名;WITH CHECK OPTION :插入或修改的数据行必须满足视图定义的约束;WITH READ ONLY :该视图上不能进行任何 DML 操作。

例如:CREATEORREPLACEVIEWdept_sum_vw(name,minsal,maxsal,avgsal)ASSELECTd.dname,

min(e.sal),

max(e.sal),

avg(e.sal)FROMempe,

deptdWHEREe.deptno=d.deptnoGROUPBYd.dname;相关资料二 : Oracle 中视图的创建和处理方法

视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表,Oracle 的数据库对象分为五种:表,视图,序列,索引和同义词。

视图是存储在数据字典里的一条 select 语句。通过创建视图可以提取数据的逻辑上的集合或组合。

视图的优点:

1. 对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。

2. 用户通过简单的查询可以从复杂查询中得到结果。

3. 维护数据的独立性,试图可从多个表检索数据。

4. 对于相同的数据可产生不同的视图。

视图分为简单视图和复杂视图:

1、简单视图只从单表里获取数据,复杂视图从多表;

2、简单视图不包含函数和数据组,复杂视图包含;

3、简单视图可以实现 DML 操作,复杂视图不可以。

视图的创建:CREATE[OR REPLACE][FORCE|NOFORCE]VIEW view_name[(alias[,alias]...)]AS subquery[WITH CHECK OPTION[CONSTRAINT constraint]][WITH READ ONLY]

其中:ORREPLACE:若所创建的试图已经存在,ORACLE 自动重建该视图;

FORCE:不管基表是否存在 ORACLE 都会自动创建该视图;

NOFORCE:只有基表都存在 ORACLE 才会创建该视图:

alias:为视图产生的列定义的别名;

subquery :一条完整的 SELECT 语句,可以在该语句中定义别名;

WITH CHECK OPTION :插入或修改的数据行必须满足视图定义的约束;

WITH READONLY:该视图上不能进行任何 DML 操作。

例如:CREATE OR REPLACE VIEW dept_sum_vw(name,minsal,maxsal,avgsal)AS SELECT d.dname,

min(e.sal),

max(e.sal),

avg(e.sal)FROM emp e,

dept dWHERE e.deptno=d.deptnoGROUP BY d.dname;

视图的定义原则:

1. 视图的查询可以使用复杂的 SELECT 语法,包括连接 / 分组查询和子查询;

2. 在没有 WITH CHECK OPTION 和 READ ONLY 的情况下,查询中不能使用 ORDER BY 子句;

3. 如果没有为 CHECK OPTION 约束命名,系统会自动为之命名,形式为 SYS_Cn;

4.OR REPLACE 选项可以不删除原视图便可更改其定义并重建,或重新授予对象权限。

视图的查询:

视图创建成功后,可以从视图中检索数据,这点和从表中检索数据一样。

还可以查询视图的全部信息和指定的数据行和列。 如:检索数据:SQL>SELECT*FROM dept_sum_vw;

查询视图定义:SELECT view_name,

textfromuser_views;

其中 text 显示的内容为视图定义的 SELECT 语句,可通过 DESC USER_VIEWS 得到相关信息。

修改视图:

通过 OR REPLACE 重新创建同名视图即可。

视图上的 DML 操作:

DML 操作应遵循的原则:

1. 简单视图可以执行 DML 操作;

2. 在视图包含 GROUP 函数,GROUP BY 子句,DISTINCT 关键字时不能

删除数据行;

3. 在视图不出现下列情况时可通过视图修改基表数据或插入数据:

a. 视图中包含 GROUP 函数,GROUP BY 子句,DISTINCT 关键字;

b. 使用表达式定义的列;

c.ROWNUM 伪列。

d. 基表中未在视图中选择的其他列定义为非空且无默认值。

视图可用于保持数据库的完整性,但作用有限。

通过视图执行引用完整性约束可在数据库级执行约束。

WITH CHECK OPTION 子句限定:

通过视图执行的 INSERTS 和 UPDATES 操作不能创建该视图检索不到的数据行,因为它会对插入或修改的数据行执行完整性约束和数据有效性检查。

例如:CREATE OR REPLACE VIEW vw_emp20AS SELECT*FROM empWHERE deptno=20WITHCHECK OPTION constraint vw_emp20_ck;

视图 已建立。

查询结果:SELECT empno,

ename,

job FROM vw_emp20;

EMPNO ENAME JOB------------------------------------------------7369SMITH CLERK7566 JONES MANAGER7902 FORD ANALYST

修改:UPDATE vw_emp20SET deptno=20WHEREempno=7902;

将产生错误:

UPDATE vw_emp20

*

ERROR 位于第一行:

ORA-01402:视图 WITH CHECK OPTION 违反 WHERE 子句

视图的删除:DROP VIEW VIEW_NAME 语句删除视图。删除视图的定义不影响基表中的数据。只有视图所有者和具备 DROPVIEW 权限的用户可以删除视图。视图被删除后,基于被删除视图的其他视图或应用将无效。

以上关于 "[关于数据库, oracle 创建序列语法][oracle 创建序列语法]Oracle 创建视图的语法 " 的信息由网友上传分享,希望对您有所帮助 ,感谢您对就爱阅读网的支持!

来源: http://www.92to.com/bangong/2017/06-06/22857208.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/539512.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux压缩和解压缩命令

tar命令解包:tar zxvf FileName.tar打包:tar czvf FileName.tar DirNamegz命令解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩&a…

【Java进阶】Java Lambda 表达式、Stream API完整梳理

一、Lambda表达式 Lambda 表达式是一种匿名函数,它可以用来定义函数式接口的实现。Lambda 表达式可以用来简化代码,提高代码的可读性和可维护性。 1、Lambda 表达式 1.1、语法介绍 Lambda 表达式的语法如下: (parameters) -> express…

使用T-SQL语句操作数据表-删除数据

1.使用 delete 语句删除表中的数据&#xff1a;语法&#xff1a;delete from <表名> [where <删除条件>]delete 是删除的意思 where是选填内容可以不加&#xff0c;但是不加条件的话是删除整个表 例子&#xff1a;delete from 成绩表 where 姓名张三含义&#xff1…

Oracle expdp/impdp导出导入命令及数据库备份

经常报错&#xff1a; ORA-39002: invalid operation ORA-39070: Unable to open the log file. ORA-29283: invalid file operation ORA-06512: at "SYS.UTL_FILE", line 536 ORA-29283: invalid file operation 解决方法&#xff1a; 1、 CREATE OR REPLACE DI…

exfat单元分配要设置多少_微软宣布,支持往Linux内核里添加exFAT存储了!跨系统存储的福音...

栗子 发自 凹非寺 量子位 报道 | 公众号 QbitAIexFAT&#xff0c;是微软开发的文件系统&#xff0c;为闪存而生。你的U盘、SD卡、手机等等存储设备&#xff0c;能存4G以上的大文件&#xff0c;很大程度上是它的功劳。可exFAT一直是专有的&#xff0c;微软手握多项专利。所以&am…

在linux中安装oracle中文包,在Linux命令行下安装Oracle 10g

Oracle 10g支持在命令行下用静默模式(Silent)安装&#xff0c;给那些没有安装图形界面的Linux系统提供了极大的便利。下面以Fedora Core 6为例&#xff0c;介绍在命令行下安装OracleOracle 10g的方法。1 安装前的准备准备工作要用登录为root用户来进行。1.1 选择安装环境的语言…

Jetbrains 系 IDE 编辑器的代码提示功能

著名的 Jetbrains 可谓编程界的一大福音&#xff0c;众多有名代码编辑器比如 ItelliJ IDEA、PHPStorm、WebStorm、PyCharm 等&#xff0c;均出自这家公司麾下。 对于中国的Java开发者来说&#xff0c;可能使用 Eclipse 的人最多。 使用Idea的程序员也不少, 而且每个人都在鼓吹其…

Oracle下的Databse,Instance,Schemas

1、DATABASE&#xff0c;对oracle而言&#xff0c;是指物理上的数据库&#xff0c;一般你安装了一个oracle的数据库软件后&#xff0c;就是一个database。 2、instance&#xff0c;在同一个数据库上&#xff0c;可以建立多个实例&#xff0c;这些实例互相不干扰&#xff0c;每个…

oracle实验数据库和表,1oracle创建数据库和表.doc

1oracle创建数据库和表.doc实验一&#xff1a;创建数据库和表一、实验目的1. 掌握使用DBCA创建数据库2. 掌握手工创建Oracle数据库的方法3. 掌握创建数据表的方法二、实验内容及步骤1. 使用DBCA创建数据库(1) 打开DBCA组件,创建数据库sale.(2) 安装完后进入D:\oracle\product\1…

tkmybatis 子查询_真假童子命符箓道长教你如何查询

童子命查询方法一&#xff1a;童子命在相术里&#xff0c;指的是一生都霉运连连如过本命年的人。古代关于真童子命查询有口诀“春秋甲寅子&#xff0c;冬夏卯未辰&#xff1b; 金木乙卯未&#xff0c;水火庚辛壬&#xff1b; 土命逢辰巳&#xff0c;童子定为真”解释上面的口诀…

使用 nvm 安装 nodejs 和 npm

使用 nvm 可以方便的进行 nodejs 的安装和版本管理。其实最开始使用的是 n 命令&#xff0c;命令简洁到极致了&#xff0c;无奈总是安装不成功&#xff0c;往往下载一部分就报 curl 错误。然后又找到这个 nvm&#xff0c;配合淘宝源&#xff0c;简单快捷&#xff5e; 1.到 nvm …

ECLIPSE配置OSGI服务器

eclipse版本如下&#xff1a; Eclipse Java EE IDE for Web Developers. Version: Mars Release (4.5.0) Build id: 20150621-1200 ------------------------ 1、进入eclipse-----run----run configuration---osgi framework---new 2、取消全选 3、在搜索框中输入 osgi&a…

oracle ebs r12财务月结基础讲座20090823,095921_OracleEBSR12财务月结基础讲座20090823课件.ppt...

095921_OracleEBSR12财务月结基础讲座20090823课件2009年8月23日方亚兵、巩学伟;1、月结概述 1.1)月结与对帐 1.2)子模块与总帐之间的关系 1.3)关帐顺序2、各模块详细结帐流程及对帐 2.1)应付 2.2)采购 2.3)库存 2.4)应收 2.5)资产 2.6)PAC 2.7)总帐3、应收模块业务规则介绍4、…

AD19 add pins to nets错误_为什么我认为Rust的Result错误处理方式不如Exception

由于是对技术的个人评判&#xff0c;欢迎理性讨论。我曾经也当过纯函数式的脑残粉&#xff0c;认为宇宙第一棒的代数数据结构用来处理错误&#xff0c;是无上的优雅和绝对的安全。一个看似人畜无害的接口抛出异常带来的崩溃&#xff0c;是各类疑难杂症的罪魁祸首。综合起来&…

Java @Transient 注解使用

2019独角兽企业重金招聘Python工程师标准>>> 我们建实体类的时候啊&#xff0c;有时候实体类的属性和数据库表字段不一致的时候&#xff0c;比如多一个属性&#xff0c;那你不加这个注解就会报错&#xff0c;因为映射的时候会提示&#xff08;提示啥我给忘了&#x…

Myeclipse/eclipse 安装查看class文件的插件

从http://www.oschina.net/project/tag/317/decompiler?lang19&os0&sortview 中下载了 也可到我的网盘&#xff1a;http://pan.baidu.com/s/1eS5BMcM 下载 Java反编译工具jad &#xff08;jad.exe&#xff09;和 Java反编译插件 Jadclipse &#xff08;net.sf.jadcl…

oracle—ebs_采购功能点操作手册,oracle—EBS_采购功能点操作手册

erp实施企业采购模块构架及日常业务操作指导“人力资源”页签可以设置是否“使用审批层次结构”来决定采购单据的审批路径。如不选定&#xff0c;则表示采购单据将使用员工的“主管”结构来进行审批。“员工编号”方法默认自业务组定义时的“员工编号生成”方法设置。1.2采购选…

Https的前世今生

1、年前会议 马上要过年了&#xff0c;公司业务上的需求也少了很多&#xff0c;这不&#xff0c;王小二他们召开了一场技术会议&#xff0c;盘点年前能干点啥。 只见C哥写了一份清单&#xff0c;其中一项是全站升级https。 C哥说&#xff1a;https是一种趋势&#xff0c;但目前…

combobox控件 如何把三角形放大_初中数学|全等三角形全部知识点总结

今天&#xff0c;琦老师为大家整理了[初中数学重要考点&#xff0c;全等三角形的全部知识点]&#xff0c;希望帮助大家中考数学快速提分( #小学数学#初中数学#数学)除了图片内容&#xff0c;大米君也为大家分享[如何灵活运用这些知识点的方法]大家记得跟着做起来哦~提高复习效果…

Spring中引入其他配置文件

原文&#xff1a;http://www.cnblogs.com/LiuChunfu/p/5605473.html ------------------------------------------------------------------------------ 一、引入其他 模块XML   在Spring的配置文件&#xff0c;有时候为了分模块的更加清晰的进行相关实体类的配置。 比如…