DBE_SESSION
接口介绍
高级功能包DBE_SESSION支持的所有接口请参见表1。DBE_SESSION作用范围是会话级别。
| 接口名称 | 描述 | 
|---|---|
| 设置指定context下,某一属性(attribute)的值(value) | |
| 清除指定context下,某一属性(attribute)的值(value) | |
| 查找指定context下,某一属性(attribute)的值(value) | 
向指定namespace(context)下,设置某一属性(attribute)的值(value)。DBE_SESSION.SET_CONTEXT函数原型为:
| 1 2 3 4 5 | DBE_SESSION.SET_CONTEXT( namespace text, attribute text, value text )returns void; | 
| 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | 
|---|---|---|---|---|
| namespace | TEXT | IN | 否 | 需要设置的context名称,当context不存在时,新建context,最长支持128个字节,超长时将会截断。 | 
| attribute | TEXT | IN | 否 | 属性名称,最长支持1024个字节,超长时将会截断。 | 
| value | TEXT | IN | 否 | 要设置的值的名称,最长支持1024个字节,超长时将会截断。 | 
清除指定namespace(context)下,某一属性(attribute)的值(value)。DBE_SESSION.CLEAR_CONTEXT函数原型为:
| 1 2 3 4 5 | DBE_SESSION.CLEAR_CONTEXT ( namespace text, client_identifier text default null, attribute text default null )returns void ; | 
| 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | 
|---|---|---|---|---|
| namespace | TEXT | IN | 否 | 用户指定的context,最长支持128个字节,超长时将会截断。 | 
| client_identifier | TEXT | IN | 是 | 客户端认证,默认值null,通常情况用户无需手动设置。 | 
| attribute | TEXT | IN | 是 | 要清除的属性,默认值null,表示清除指定context的所有的属性,最长支持1024个字节,超长时将会截断。 
        注意: 
        为了保证前向兼容,参数值为字符串'null'时也会清除指定context的所有属性。 | 
查找指定namespace(context)下,某一属性(attribute)的值(value)。DBE_SESSION.SEARCH_CONTEXT函数原型为:
| 1 2 3 4 | DBE_SESSION.SEARCH_CONTEXT ( namespace text, attribute text )returns text; | 
| 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | 
|---|---|---|---|---|
| namespace | TEXT | IN | 否 | 用户指定的context,最长支持128个字节,超长时将会截断。 | 
| attribute | TEXT | IN | 否 | 要查找的属性,最长支持1024个字节,超长时将会截断。 | 
示例
| 1 2 3 4 5 6 7 8 9 10 11 12 | DECLARE a text; BEGIN DBE_SESSION.set_context('test', 'gaussdb', 'one'); --设置名为test的context下属性为gaussdb的值为one a := DBE_SESSION.search_context('test', 'gaussdb'); DBE_OUTPUT.PRINT_LINE(a); DBE_SESSION.clear_context('test', 'test','gaussdb'); END; / -- 预期结果为: one ANONYMOUS BLOCK EXECUTE | 
 
  