Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3672353
  • 博文数量: 715
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 7745
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-07 08:51
个人简介

偶尔有空上来看看

文章分类

全部博文(715)

文章存档

2023年(75)

2022年(134)

2021年(238)

2020年(115)

2019年(11)

2018年(9)

2017年(9)

2016年(17)

2015年(7)

2014年(4)

2013年(1)

2012年(11)

2011年(27)

2010年(35)

2009年(11)

2008年(11)

分类: Oracle

2021-09-16 21:51:59

对于权限控制,有时会通过一个查询(或执行)用户来访问另一个用户的所有对象,常见的是表,有时也需要package body,怎么办?

大致如下:

  1. --对于表
  2. select 'grant select on '||owner||'.'||table_name||' to user1;' c from dba_tables where owner='USER2';

  3. --对于视图
  4. select 'grant select on '||owner||'.'||view_name||' to user1;' c from dba_views where owner='USER2';

  5. --对于存储过程、函数等
  6. select 'grant execute on '||owner||'.'||object_name||' to user1;' c from dba_objects where owner='USER2' and object_type in ('FUNCTION','PROCEDURE','PACKAGE');

  7. --对于package body
  8. select 'grant debug on '||owner||'.'||object_name||' to user1;' c from dba_objects where owner='USER2' and object_type in ('PACKAGE BODY');


将生成的脚本执行即可。
阅读(882) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~