189 8069 5689

oracle中怎么建视图 oracle怎样创建视图

oracle怎么建视图

基于表或其他视图来创建视图,目的将一些复杂的查询简化,提高查询速度 。如:

创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站建设、烈山网络推广、重庆小程序开发公司、烈山网络营销、烈山企业策划、烈山品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供烈山建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

CREATE VIEW v_name AS SELECT b.dname,a.ename FROM emp a,dept b

WHERE a.deptno=b.deptno ;

查询部门名和员工名 通过建立视图,v_name 视图就等同于SELECT b.dname,a.ename FROM emp a,dept b

WHERE a.deptno=b.deptno 这样可以大大的简化程序

数据库ORACLE中如何创建可以插入数据的视图?

1、视图(View)创建使用,视图(View)实际上是一张或者多张表上的预定义查询,这些表称为基表。从视图中查询信息与从表中查询信息的方法完全相同。只需要简单的SELECT?FROM即可。

2、OR REPLACE:如果视图已经存在,则替换旧视图。

3、FORCE:即使基表不存在,也可以创建该视图,但是该视图不能正常使用,当基表创建成功后,视图才能正常使用。

4、NOFORCE:如果基表不存在,无法创建视图,该项是默认选项。

5、 WITH READ ONLY:默认可以通过视图对基表执行增删改操作,但是有很多在基表上的限制(比如:基表中某列不能为空,但是该列没有出现在视图中,则不能通过视图执行insert操作),WITH READ ONLY说明视图是只读视图,不能通过该视图进行增删改操作。现实开发中,基本上不通过视图对表中的数据进行增删改操作。

视图具有以下优点:可以限制用户只能通过视图检索数据。这样就可以对最终用户屏蔽建表时底层的基表。可以将复杂的查询保存为视图。可以对最终用户屏蔽一定的复杂性。 限制某个视图只能访问基表中的部分列或者部分行的特定数据。这样可以实现一定的安全性。从多张基表中按一定的业务逻辑抽出用户关心的部分,形成一张虚拟表。

oracle如何创建视图?

create

or

replace

view

视图名

as

...;

基本的创建命令:

比如:创建表book的一张视图

create

or

replace

view_book

as

select

*

from

book

where

book_id

='001';

使用视图,就用select

*

from

view_book;

当然了,使用

图形化界面

更方便。

在oracle中创建一个视图

CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name

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

AS subquery

[WITH CHECK OPTION [CONSTRAINT constraint]]

[WITH READ ONLY]

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

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

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

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

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

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

WITH READ ONLY :该视图上不能进行任何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 d

WHERE e.deptno=d.deptno

GROUP BY d.dname;

--给用户授权创建视图

-- grant create all view to zdgshr; 所有数据库都能创建视图的用户

grant create view to zdgshr;

--创建简单视图

create view temp

as

select * from zd_member_basic_info;

--测试

select * from temp where rownum=1;

--创建简单视图:只读

create or replace view temp1

as

select id,job_number,name,dept_id from zd_member_basic_info

with read only;

--测试

insert into temp1(id,job_number,name,dept_id) values(1,0,'张三',1300);

视图的删除:

DROP VIEW VIEW_NAME语句删除视图。

删除视图的定义不影响基表中的数据。

只有视图所有者和具备DROP VIEW权限的用户可以删除视图。

视图被删除后,基于被删除视图的其他视图或应用将无效。

四、视图分为简单视图和复杂视图。

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

简单视图不包含函数和数据组;复杂视图包含函数和数据组。

简单视图可以实现DML操作;复杂视图不可以。

create or replace view temp1

as

select distinct name,job_number,dept_id from zd_member_basic_info

with read only;

delete from zd_member_basic_info where name='而过';

create or replace view temp

as

select * from zd_member_basic_info order by name;


文章名称:oracle中怎么建视图 oracle怎样创建视图
标题来源:http://jkwzsj.com/article/hgjgjd.html

其他资讯