经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库运维 » Oracle » 查看文章
Oracle之视图
来源:cnblogs  作者:尾号玩家zzz  时间:2018/9/25 19:51:08  对本文有异议
  1. Oracle之视图

2018.9.12

由于视图的数据与表数据互相关联,所以切记谨慎操作

  1. 建立视图

使用下面sql语句来完成视图的创建

create or replace view 视图名

as

select 视图需要的字段 from 视图对应的表

[with read only]

With read only : 加上之后视图只可读 不加可做修改

  1. 视图权限相关

由于实际应用中不可能给用户所有表和视图的所有操作权限,所以需要设置特定的用户权限(需要本地拥有较高的权限等级)

  1. 管理员配置

首先使用sql新建用户

create user 用户名 identified by 密码

 

 

 

然后使用

 

权限名:权限分为很多种 可以输入all 代表全部权限

还有要使用

grant create session to 用户名

来允许用户访问数据库

  1. 用户设置

由于我们已经赋予了查询权限所以直接通过sql查询

select * from 管理员名.视图名

注:需要查看是哪个管理员分配的该权限

然后通过管理员名.视图名才能查到内容

  1. 优化

我们刚才已经完成了赋予用户查询单张视图的过程,

但出于安全和用户体验的考虑,我们希望优化下查询过程

可以让用户直接查询视图,而不是查询管理员.视图名

这时候我们可以使用oracle自带的同义词来解决问题

  1. 同义词优化查询过程

首先需要赋予当前用户创建同义词的权限

grant create synonym to 用户名

然后登录用户 创建同义词 指向之前的管理员名.视图名

create synonym 同义词名 for 之前的管理员名.视图名;

建议使用原视图名作为同义词名来提高视图的安全性.

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号