【发布时间】:2014-02-18 15:24:32
【问题描述】:
所以最近我开始尝试使用数据库,但我还是新手,虽然我得到了几个与 函数 相关的示例..我似乎无法弄清楚有什么问题我的逻辑。
所以我有一个名为“tutorial”的表,我试图将表中的一行与登录用户匹配。我确定我已将登录用户设置为 v_user 正确..所以我认为这只是以下代码中的逻辑。
if v_emp_no != 0 and (select tutor_emp_no into v_tutor_emp_no from tutorial where
lower(tutor_emp_no) = v_user) then
-- Employee is a Tutor
is_tutor := 1;
end if;
当然这不是全部功能:)
任何帮助或建议将不胜感激! :)
** 编辑 **
这是 policy 在给我的示例中使用 oe 拥有的表在创建的用户 'sec_admin' 下工作,而在我给定的 sys 角色中不起作用名为“虚拟”的用户。
begin
dbms_rls.add_policy('oe',
'enrol',
'accesscontrol_enrol',
'sys',
'f_policy_enrol',
policy_type => dbms_rls.context_sensitive);
end;
/
我应该将“oe”改为“dummy”还是“sys”?我希望此策略适用的表称为 enrol,它是 我通过我的 dummy 用户创建的 表。再次感谢!
【问题讨论】:
-
dbms_rls.add_policy的第一个参数是表的所有者,所以是的,如果那是表的所有者enrol,则应该输入'dummy'。