2011-10-09 122 views
1

如何創建一個功能,限制用戶只能看到工資爲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 

回答

2

你不想要的功能,你想有一個觀點:

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

那麼只有授權用戶訪問該視圖,而不是表。如果有必要,您可以重命名,以便視圖被稱爲employee,基表被稱爲employee_table或其他。

或者,注意你的問題的標題,你可以看看Virtual Private Database (VPD)又名「細粒度訪問控制」。但是,這聽起來像是針對您的聲明要求的矯枉過正,並且僅在企業版中可用。