如何创建一个限制用户只能看到薪水为1,500或以下的员工的FUNCTION?举个例子:如果我输入
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
答案 0 :(得分:2)
你不想要一个功能,你想要一个视图:
create view employee_view as
select * from employee where salary <= 1500;
然后只授予用户访问视图的权限,而不是表。如有必要,您可以重命名,以便视图被称为employee
,基表称为employee_table
或其他。
或者,注意问题的标题,您可以查看Virtual Private Database (VPD)又名“细粒度访问控制”。但这听起来有点像你所说的要求,并且仅在企业版中可用。