Oracle中的上下文
发布日期:2022-02-28 11:05:52 浏览次数:6 分类:技术文章

本文共 807 字,大约阅读时间需要 2 分钟。

1.oracle中有默认创建的上下文叫做:userenv(user environment)

比如:SYS_CONTEXT(‘USERENV’,‘CURRENT_USER’)

2.除了默认创建的,还可以自定义上下文,用以下语句

DBMS_SESSION.SET_CONTEXT ( namespace VARCHAR2, attribute VARCHAR2, value VARCHAR2, username VARCHAR2, client_id VARCHAR2 );
前面三个参数是必填,后面两个默认为null
Namespace:要创建的上下文的名称
Attribute:上下文里面包含的属性
Value:为上下文传入的值。
3.创建上下文
A.创建与上下文相关的过程,也可以用packge
Create procedure xx_CONTEXT (SET_KEY varchar2,SET_VALUE VARCHAR2)
as
begin

dbms_session.set_context(‘SELF_CONTEXT’, SET_KEY, SET_VALUE);

end;

SELF_CONTEXT :自定义的上下文的名称

B. 创建上下文:
create or replace context SELF_CONTEXT using xx_CONTEXT;

using 后面是使用的过程名称

C.给上下文赋值

Begin

xx_CONTEXT(‘self_name’,’测试测试’);
end;

D.引用上下文,在查询中使用以下作为值来使用

select SYS_CONTEXT ('SELF_CONTEXT’, ’ self_name ') from dual;
查询结果:测试测试

4.注意:经测试,在同一个库中,只能创建并使用一个自定义的相同名称的上下文。在多个用户下创建多个相同的上下文会冲突

转载地址:https://blog.csdn.net/weixin_47428086/article/details/107035681 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Python处理关系型数据库
下一篇:ResNet小结

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月24日 12时22分38秒