有人知道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>