数据库之视图

你的名字 2021-05-03 05:08 742阅读 0赞

1、以一个具体需求展开:

跨用户访问另外一个 用户的表?希望得到雇员的全部信息和部门名称?但是hr用户不希望把薪水这一列提供给scott用户?
在这里插入图片描述

  1. ----视图:
  2. ----在管理员账户sys下给scott授权查询hr账户相应表的权限
  3. grant select on hr.departments to scott;
  4. grant select on hr.employees to scott;
  5. ---在hr账户下实现跨用户访问scott里面的表:用户名.表名,前提是要授权
  6. select *from hr.employees s;
  7. select *from hr.departments t;
  8. ---实现跨库访问:用户名.表名@数据库链接
  9. ---在管理员账户sys下收回权限
  10. revoke select on hr.departments from scott;
  11. revoke select on hr.employees from scott;
  12. ---在hr下创建一个视图给scott用户,不能给基础表
  13. create or replace view view_employees as
  14. select
  15. s.employee_id,
  16. s.first_name,
  17. s.email,
  18. s.phone_number,
  19. s.hire_date,
  20. s.job_id,
  21. s.department_id,
  22. t.department_name
  23. from employees s
  24. left join departments t
  25. on s.department_id=t.department_id
  26. with read only
  27. select *from view_employees;
  28. ---在管理员账户sys下给scott授权查询hr里面视图view_employees的权限
  29. grant select on hr.view_employees to scott;
  30. ---在scott
  31. select *from hr.view_employees;

发表评论

表情:
评论列表 (有 0 条评论,742人围观)

还没有评论,来说两句吧...

相关阅读

    相关 mysql数据库视图

    视图(view)是一种虚拟的存在,视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。 通俗的讲,视图之保存了查询的sq

    相关 数据库视图

    1、视图介绍 视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定

    相关 数据库视图

    数据库之索引 1、索引是对数据库表中的一个或者多个列的值进行排序的结构,索引有助于更快的获取信息。 2、索引是经过某种算法优化的,因而查找次数要少的多,索引是用来定位的

    相关 数据库视图

    视图的概念 视图是一个虚拟表,从一个或多个表中导出(视图也可以从视图中导出),其内容由查询语句定义生成。从表面上看,视图和真实表一样,具有结构和数据,包含一系列带有名称的

    相关 数据库视图

    视图是逻辑上的表,是虚拟表。行和列数据均来自于查询所引用的表,而视图并不存储这些数据,只在视图被引用时动态获取并返回。 视图的优点: 1、简化操作,隐藏了表之间复杂的连接

    相关 数据库视图

    1、以一个具体需求展开: 跨用户访问另外一个 用户的表?希望得到雇员的全部信息和部门名称?但是hr用户不希望把薪水这一列提供给scott用户? 在这里插入图片描述 --...