如何使用角色覆盖 Oracle SQL 中的 *?

How to override * in Oracle SQL using roles?

Table Emp 包含 10 个 columns.How 以覆盖 * 以获取并非所有列,just 3,使用角色?例如查询

SELECT * FROM EMP 

returns 用户只有 3 列。

只能在列级别授予 INSERT、UPDATE 和 REFERENCES 权限。相反,您可以创建如下所示的视图。

SQL> create view temp as select col1,col2,col3 from emp;
SQL> grant select on temp to someone;

并且用户 someone 可以访问视图:

SQL> conn someone/*****
SQL> select * from hr.temp;