首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle值table_privileges

Oracle值table_privileges
EN

Stack Overflow用户
提问于 2012-01-13 06:07:52
回答 2查看 7K关注 0票数 9

有人知道table_privileges中给出的值吗?我已经知道"A“是什么意思了但我不知道"S“代表什么。我认为这是没有记录的。它与特定列的update权限有关。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-13 06:30:51

您缺少的是,我们可以在表的列的子集上授予UPDATE权限。

首先,让我们只对表授予SELECT权限。UPDATE_PRIV的值为'N',表示无

代码语言:javascript
复制
SQL> grant select on t23 to mr_x;

Grant succeeded.


SQL> select select_priv, update_priv 
  2  from table_privileges
  3  where table_name = 'T23'
  4  /

S U
- -
Y N

SQL>

现在,如果我在单个列上授予UPDATE,那么UPDATE_PRIV的值是'S',大概对于某些列

代码语言:javascript
复制
SQL> grant update (col2) on t23 to mr_x
  2  /

Grant succeeded.

SQL> select select_priv, update_priv 
  2  from table_privileges
  3  where table_name = 'T23'
  4  /

S U
- -
Y S

SQL>

最后,我在整个表上授予UPDATE,UPDATE_PRIV的值是'A',表示所有

代码语言:javascript
复制
SQL> grant update  on t23 to mr_x
  2  /

Grant succeeded.

SQL> select select_priv, update_priv 
  2  from table_privileges
  3  where table_name = 'T23'
  4  /

S U
- -
Y A

SQL> 
票数 6
EN

Stack Overflow用户

发布于 2012-01-13 06:39:25

我很抱歉,但是我注意到an answer在2005年@JustinCave给出了这个问题,我必须把它贴出来。

table_privileges上的SQL参考文档中的

http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96536/ch2486.htm#1318903

TABLE_PRIVILEGES包含有关用户是其授权者、被授权者或所有者或PUBLIC是被授权者的对象的授权信息。包含此视图是为了与Oracle版本6兼容。Oracle公司建议您不要使用此视图。

鉴于Oracle建议您不要使用此视图,我强烈建议您使用DBA_TAB_PRIVS视图。那里的信息应该更容易破译。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8843026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档