今天开始温习vpd,碰到了一些问题。总结如下。
首先我创建了测试表
SQL> select * from hr_salary;
NAME SALARY
-------------------- ----------
TRUETEST 10000
TRUTEST 20000
JEANRON 300000
然后创建了3个用户,trutest,trutest,jeanron
使用基于行的vpd
创建function,来做过滤,如果是用户truetest,则在查询语句后面补上 name='TRUETEST';
SQL> create or replace function vpd_row_f (pschema varchar2,pname varchar2) return varchar2
2 as begin
3 return 'NAME=sys_context(''USERENV'',''current_user'')';
4 end;
5 /
Function created.
然后调用 dbms_rls来添加策略
未完待续
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23718752/viewspace-761125/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23718752/viewspace-761125/