我正在尝试创建一个函数,以防止当前登录的用户在 scott.emp 表中查看他们自己的记录。
我编写了一个函数来执行该策略。目前返回语句是return 'ename != CURRENT_USER';
但是这不起作用。
我不确定是否必须添加新的函数参数,或者是否只需要更改 return 语句。在 return 语句中放置多个引号会编译带有错误的函数。我缺少格式吗?
create or replace function self(
p_schema in varchar2,
p_object in varchar2)
return varchar2 as
begin
return 'ename != CURRENT_USER';
end;
/
begin
dbms_rls.add_policy
(object_schema => 'SCOTT',
object_name => 'EMP',
policy_name => 'self',
policy_function => 'self');
end;
/