需求:数据库中所有用户对A用户中的TEST表自动拥有有SELECT权限,即便是新建的用户也要有这种权限。
但你不知道什么时候会新建用户。
这时想到了public用户。如果把权限赋于public,那么所有数据库的用户都自动拥有这个权限
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0
Connected as devdb
SQL> GRANT SELECT ON t TO PUBLIC;
Grant succeeded
SQL> conn testdev/****
SQL> select count(1) from t;
COUNT(1)
----------
7999
SQL> conn devdb/****
SQL> REVOKE SELECT ON t FROM PUBLIC;
Revoke succeeded
SQL> conn testdev/****
SQL> select count(1) from t;
select count(1) from t
ORA-01031: insufficient privileges
撤销掉public对t表的访问权限后。
不知道为什么报ORA-01031: insufficient privileges,而不报ORA-00942: table or view does not exist