Oracle安全策略

问题描述:

如何创建一个功能,限制用户只能看到工资为1,500或更低的员工?举个例子:如果我进入Oracle安全策略

SQL> SELECT * FROM employee; 

EMPNUMB EMPNAME STARTDATE ENDDATE SALARY EMPCITY DESCRIPTION 
--------------------------------------------------------------------------- 
01  Jason Martin 25-JUL-96 25-JUL-06 1234.56 Geelong Programmer 
08  James Cat 17-SEP-96 15-APR-02 1232.78 Melbourne Tester 

你不想要的功能,你想有一个观点:

create view employee_view as 
select * from employee where salary <= 1500; 

那么只有授权用户访问该视图,而不是表。如果有必要,您可以重命名,以便视图被称为employee,基表被称为employee_table或其他。

或者,注意你的问题的标题,你可以看看Virtual Private Database (VPD)又名“细粒度访问控制”。但是,这听起来像是针对您的声明要求的矫枉过正,并且仅在企业版中可用。