Oracle10gdba宝典给出了具体描述,这里只给出代码:
--创建自定义应用环境
create or replace context empenv using scott.emp_ctx;
--创建包来设置应用环境的属性
create or replace package scott.emp_ctx as
procedure set_deptno;
end;
create or replace package body scott.emp_ctx as
procedure set_deptno is
begin
if sys_context('userenv','session_user')='SCOTT' THEN
DBMS_SESSION.SET_CONTEXT('empenv','scott_attr1','10');--有没有引号是一样的结果
ELSIF sys_context('userenv','session_user')='SYSTEM' THEN
DBMS_SESSION.SET_CONTEXT('empenv','system_attr1','10');
DBMS_SESSION.SET_CONTEXT('empenv','system_attr2','20');
END IF;
END;
END;
--创建安全策略函数
CREATE OR REPLACE PACKAGE scott.emp_security as
function select_Imt(object_schema varchar2,object_name varchar2) return varchar2 ;
function update_Imt(object_schema varchar2,object_name varchar2) return varchar2 ;
end;
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余3页未读,立即下载