今天开始温习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来添加策略
未完待续
阅读(913) | 评论(0) | 转发(0) |