oracle------视图
来源:互联网 发布:电视机网络机顶盒破解 编辑:程序博客网 时间:2024/05/01 22:55
视图
视图是一个虚拟表,其内容由查询定义。
但,视图并不在数据库中以存储额数据值集的形式存在,行和列的数据来自于定义视图查询所引用的表,并在引用视图时动态生成。
举2个例子
1.如果一张是id表,一张名称表,需要把id和名称显示在一起
操作的时候通过id,进行查询把2张表的需要字段关联到一张视图(虚拟表),这个虚拟表随着2张基础表的数据变化而变,它不是实际存在数据库中的。
create view myview as select emp.empno,emp.ename,dept.dname from emp ,dept where emp.deptno=dept.dept.no;
2.数据库管理员,给用户小明分配权限,只允许他查询emp表的工资小于1000的数据。之前讲的权限管理可以设置列的查询和操作权限,现在需要对行进行控制
制作一张视图,从表中选出需要的数据,授权的时候授权这个指定的视图,不授权表即可。
create view myview as select * from emp where sal<1000;
视图与表的区别
1.视图不占用磁盘空间,表需要占用
2.视图不能添加索引,查询速度要慢于表
3.视图可以简化复杂查询,比如多表联合关联查询
4.视图利于提高安全性,比如不同用户授权查看不同视图
创建视图
create view 视图名 as select语句 [with read only]
with read only 意思是只读,不能修改视图
创建或修改视图
create or replace view 视图名 as select语句 [with read only]
删除视图
drop view 视图名
视图是一个虚拟表,其内容由查询定义。
但,视图并不在数据库中以存储额数据值集的形式存在,行和列的数据来自于定义视图查询所引用的表,并在引用视图时动态生成。
举2个例子
1.如果一张是id表,一张名称表,需要把id和名称显示在一起
操作的时候通过id,进行查询把2张表的需要字段关联到一张视图(虚拟表),这个虚拟表随着2张基础表的数据变化而变,它不是实际存在数据库中的。
create view myview as select emp.empno,emp.ename,dept.dname from emp ,dept where emp.deptno=dept.dept.no;
2.数据库管理员,给用户小明分配权限,只允许他查询emp表的工资小于1000的数据。之前讲的权限管理可以设置列的查询和操作权限,现在需要对行进行控制
制作一张视图,从表中选出需要的数据,授权的时候授权这个指定的视图,不授权表即可。
create view myview as select * from emp where sal<1000;
视图与表的区别
1.视图不占用磁盘空间,表需要占用
2.视图不能添加索引,查询速度要慢于表
3.视图可以简化复杂查询,比如多表联合关联查询
4.视图利于提高安全性,比如不同用户授权查看不同视图
创建视图
create view 视图名 as select语句 [with read only]
with read only 意思是只读,不能修改视图
创建或修改视图
create or replace view 视图名 as select语句 [with read only]
删除视图
drop view 视图名
0 0
- oracle视图
- oracle视图
- Oracle视图
- Oracle视图
- Oracle视图
- Oracle视图
- oracle视图
- Oracle 视图
- oracle 视图
- oracle视图
- oracle视图
- oracle 视图
- oracle 视图
- Oracle视图
- Oracle视图
- oracle 视图
- oracle视图
- oracle 视图
- js实现搜索历史记录功能
- mysql计划任务(轮询执行脚本)
- 正则查找一篇文章中的email地址
- 欢迎大家关注我的微信公众号
- 游戏开发中网络通讯协议对比
- oracle------视图
- ubuntu 下识别android设备
- Eclipse里自动导入相应包的类名的快捷键
- java web 工程名后面设置访问默认url
- Base64 编码方式
- Android中EditText如何限制为手机号码
- Mysql字符串字段判断是否包含某个字符串的2种方法
- jzoj C组 2017.1.18 比赛
- TQ2440 网络烧写篇 TFTP