今天精心准备的是《oracle视图》,下面是详解!

怎么在oracle中查询出所有的视图view?

1、通过pl/sql,登录oracle数据库,

insufficient privileges 查看视图 查看视图记录_oracle

2、敲入sql,可以查询本库的所有视图view,select * from all_views t,结果中owner代表不同的用户;

insufficient privileges 查看视图 查看视图记录_oracle_02

3、如果查看本用户的所有视图view,执行sql,select * from user_views t,可以看到本用户并没有创建过视图,

insufficient privileges 查看视图 查看视图记录_oracle视图在查询里_03

4、如果要看本库,每个用户分别有多少视图view,执行sql,select owner, count(*) from all_views t group by owner,

insufficient privileges 查看视图 查看视图记录_oracle_04

oracle 视图有什么用呢?

谢谢...

谢谢

比如说图书馆有图书book(id,name,prise....)

读者reader(id.....)

借阅关系 borrow( bookid,readerid,date)

显然存在一张表很不方便操作,分开又不方便查看

那就建立个视图,view1:

select * from book,reader,borrow where book.id=bookid and reader.id=readerid

这样只要查询select * from view1 就可以看到谁借了什么书了,包括所有的详细内容。

有时后会有非常复杂的逻辑,视图可以用来方便理解,可以当作中间层简化逻辑

oracle视图的几个重要内容

视图的定义:

视图的优点:

视图的分类:

视图的作用:

视图的创建:

视图的定义原则:

查询视图:

删除视图:

修改视图:

查询视图定义:

数据库 delete

1、双击桌面plsql运行程序,启动软件,在命令窗口中先创建快照。

insufficient privileges 查看视图 查看视图记录_物化视图_05

2、然后执行@直接回车,在弹出的窗口中找到数据库安装目录找到相应要生成的视图脚本。

insufficient privileges 查看视图 查看视图记录_数据库_06

3、然后在弹出的窗口中填写导出报告的格式。

insufficient privileges 查看视图 查看视图记录_oracle视图在查询里_07

4、然后接着在弹出的窗口中填写需要导出报告的日期范围,填写1代表当天的。

insufficient privileges 查看视图 查看视图记录_物化视图_08

5、然后在接下来的窗口中输入开始快照id与结束快照id。

insufficient privileges 查看视图 查看视图记录_oracle_09

6、然后填写导出报告的名称,完成导出即可。

insufficient privileges 查看视图 查看视图记录_数据库_10

如何单独导出ORACLE的视图?

oracle怎么建视图...

oracle怎么建视图

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

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怎么建视图

select* from dba_tables; 必须有DBA权限,可以查看全部的表信息

select * from user_tables; 当前用户所有表信息

select* from all_tables; 当前用户所有表信息 以及 当前用户所能看到的别的用户下的表信息。

对应的也有视图信息:

select * from dba_views;

select * from user_views;

select * from all_views;

查看Oracle有哪些表或者视图

(1)创建视图V_StudInfo,查询学生的学号,姓名,所修课程号,所修课程名称,成绩等级(90~100为优,80~89为良,70~79为中,60~69为及格,60分以下为不及)。(2)创建视图V_Stu...

(1)创建视图V_StudInfo,查询学生的学号,姓名,所修课程号,所修课程名称,成绩等级(90~100为优,80~89为良,70~79为中,60~69为及格,60分以下为 不及)。

(2)创建视图V_Stud,查询英语成绩大于75分的学生信息:学号,姓名,所修科目数,平均成绩。(提示:可用分几个视图,逐步实现)


1

create view V_StudInfo

as

select a.学号,a.姓名,b.课程号,b.课程名,

case when c.成绩 between 90 and 100 then '优'

when c.成绩 between 80 and 89 then '良'

when c.成绩 between 70 and 79 then '中'

when c.成绩 between 60 and 69 then '及格'

else '不及格' end 成绩等级

from 学生表 a,课程表 b, 成绩表 c where a.学号=c.学号

and b.课程号=c.课程号

2

create view V_Stud

as

select a.学号,a.姓名,count(*) 所修科目数,avg(成绩) 平均成绩

from 学生表 a,课程表 b, 成绩表 c where a.学号=c.学号

and b.课程号=c.课程号

and a.学号 in

(select a.学号

from 学生表 a,课程表 b, 成绩表 c where a.学号=c.学号

and b.课程号=c.课程号 and b.课程名='英语' and c.成绩>75)

表名和字段名,自己跟你实际的核对一下,不同的改一下

oracle如何创建视图

通过查询oracle提供的系统视图查询得到的结果,这个结果以后一直要用,能不能把这个查询结果建立一个视图,以后好查询,提示权限不足。我已经有了dba权限,难道还不行?...

通过查询oracle提供的系统视图查询得到的结果,这个结果以后一直要用,能不能把这个查询结果建立一个视图,以后好查询,提示权限不足。我已经有了dba权限,难道还不行?

可以的,但是会慢。有些复杂的可以通过函数实现,在视图里面调用函数可以加快些速度。

扩展

insufficient privileges 查看视图 查看视图记录_oracle视图在查询里_11

但是不行啊,您帮忙看看

insufficient privileges 查看视图 查看视图记录_oracle_12


insufficient privileges 查看视图 查看视图记录_物化视图_13

insufficient privileges 查看视图 查看视图记录_数据库_14

补充

权限不足应该是帐号的问题吧,你没用管理员权限登录吗?你直接select可以吗?

oracle 可以在视图基础上 建立视图吗?

Oracle中视图和同义词的区别如下:

视图和同义词分别都是数据库中的对象名称,它们都不对应实际的数据存储,都依赖其他对象的存在而存在。

一、视图:视图可以被看成是虚拟表或存储查询。除非是索引视图,否则视图的数据不会作为非重复对象存储在数据库中。一般是基于一个或多个数据表经数据查询语句构建而成;视图可以再被用于数据查询语句中。

二、同义词:是架构范围内的对象的另一名称。通过使用同义词,客户端应用程序可以使用由一部分组成的名称来引用基对象,而不必使用由两部分、三部分或四部分组成的名称。可以理解为是对数据库中一个对象的快捷方式或者在特定范围内的别名;不限于数据表,几乎所有的数据库对象都可以建立同义词。

1.视图可以对应一张或多张表,同义词只能对应一张表名称

2.视图可以设置其他约束条件

3.可以在同义词上建立视图:

例如,已经存在一个名为synonym_city的同义词和一个名为table_citys的表,可以创建视图:CREATE OR REPLACE NOFORCE VIEW view_city AS SELECT * FROM synonym_city,table_citys;

4.可以通过对同义词进行任何DML操作,对表数据进行插入、更新、删除,通过对视图只能进行更新和删除操作。

值得注意的是:视图和同义词都可以屏蔽用户访问其他用户拥有的表。

例如:现在存在两个用户:scott、sys,以sys用户登录

创建跨用户表的同义词:

CREATE OR REPLACE PUBLIC SYNONYM SYN_EMP for scott.emp;

创建跨用户的表的视图:

CREATE OR REPLACE VIEW view_EMP AS SELECT * FROM scott.emp

然后进行查询操作:

SELECT * FROM SYN_EMP ;

SELECT * FROM view_EMP ;

查询结果是一样的。

Oracle中视图和同义词的区别

如题。...

如题。

区别是:定义不同、内容不同、刷新方法不同。

具体内容如下:物化视图是一种特殊的物理表,物化视图是相对普通视图而言的。普通视图是虚拟表,应用的局限性大,任何对视图的查询,都实际上转换为视图语句的查询。这样对整体查询性能的提高,并没有实质上的好处。

普通视图和物化视图根本就不是一个东西,说区别都是硬拼到一起的,首先明白基本概念,普通视图是不存储任何数据的,他只有定义,在查询中是转换为对应的定义SQL去查询,而物化视图是将数据转换为一个表,实际存储着数据,这样查询数据,就不用关联一大堆表,如果表很大的话,会在临时表空间内做大量的操作。

物化视图的类型:二者的区别在于刷新方法的不同,仅在该物化视图需要被刷新了,才进行刷新,即更新物化视图,以保证和基表数据的一致性;而是说,一旦基表有了,即事务提交,则立刻刷新,立刻更新物化视图,使得数据和基表一致。

物化视图的创建本身是很复杂和需要优化参数设置的,特别是针对大型生产数据库系统而言。但允许以这种最简单的,类似于普通视图的方式来做,所以不可避免的会涉及到默认值问题。也就是说给物化视图的重要定义参数的默认值处理是我们需要特别注意的。

物化视图在某种意义上说就是一个物理表,这通过其可以被查询出来,而得到佐证;物化视图也是一种段,所以其有自己的物理存储属性; 物化视图会占用数据库磁盘空间。

在一般视图中,可看到文档的大部分(包括部分图形)内容,但看不见页眉、页脚、页码等,也不能编辑这些内容,不能显示图文内容、分栏效果等。

insufficient privileges 查看视图 查看视图记录_oracle_15