oracle table_privileges值

前端之家收集整理的这篇文章主要介绍了oracle table_privileges值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有人知道table_privileges中给出的值吗?我已经发现了“A”的含义.但我没有发现“S”代表什么.我认为这没有记录.它与特定列的更新权限有关.

解决方法

您缺少的是我们可以在表的列的子集上授予UPDATE.

首先,让我们在表上授予SELECT.对于None,UPDATE_PRIV的值为’N’:

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”,大概是对于某些:

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’,对于All:

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>

猜你在找的Oracle相关文章