日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

DBMS_SESSION

DBMS_SESSION內置包提供了從PL/SQL訪問SQL ALTER SESSIONSET ROLE語句以及其他會話信息的能力。

DBMS_SESSION子程序總覽

子程序

說明

CLEAR_ALL_CONTEXT Procedure

清除指定命名空間的全部上下文屬性。

CLEAR_CONTEXT Procedure

清除指定命名空間的特定上下文屬性。

LIST_CONTEXT Procedure

返回當前會話的活躍命名空間和上下文列表。

SET_CONTEXT Procedure

設置或者重置上下文屬性的值。

SET_ROLE Procedure

設置當前上下文的角色。

SLEEP Procedure

將當前的會話暫停指定的時長。

CLEAR_ALL_CONTEXT

該存儲過程用于清除指定命名空間的全部上下文屬性。

語法

DBMS_SESSION.CLEAR_ALL_CONTEXT(
   namespace     IN  VARCHAR2);

參數說明

參數

說明

namespace

待清除上下文的命名空間。

示例

該示例清除了指定上下文的全部屬性值。

EXEC DBMS_SESSION.CLEAR_ALL_CONTEXT('test_ctx');

CLEAR_CONTEXT

該存儲過程用于清除指定命名空間的特定上下文屬性。

語法

DBMS_SESSION.CLEAR_CONTEXT(
   namespace         IN  VARCHAR2,
   client_identifier IN VARCHAR2 DEFAULT NULL,
   attribute         IN VARCHAR2 DEFAULT NULL);

參數說明

參數

說明

namespace

待清除上下文的命名空間。

client_identifier

(可選參數)兼容性提供參數。默認值為NULL。

attribute

(可選參數)命名空間中的具體屬性名稱。默認值為NULL。

示例

該示例展示了如何清除上下文的指定屬性值。

CREATE CONTEXT test_ctx USING ctx_pkg;

DECLARE
  val VARCHAR2(20);
BEGIN
  DBMS_SESSION.SET_CONTEXT('test_ctx', 'a', '1');
  val := SYS_CONTEXT('test_ctx', 'a');
  DBMS_OUTPUT.PUT_LINE('a of test_ctx is:' || val);

  DBMS_SESSION.CLEAR_CONTEXT('test_ctx', NULL, 'a');
  val := SYS_CONTEXT('test_ctx', 'a');
  IF val IS NULL THEN
    DBMS_OUTPUT.PUT_LINE('The a of test_ctx has been cleared');
  END IF;
END;

-- a of test_ctx is:1
-- The a of test_ctx has been cleared

LIST_CONTEXT

該存儲過程用于返回當前會話的活躍命名空間和上下文列表。

語法

該存儲過程使用了自定義類型作為參數,該類型的語法和存儲過程的語法如下:

TYPE AppCtxRecTyp IS RECORD (
  namespace VARCHAR2(30),
  attribute VARCHAR2(30),
  value     VARCHAR2(256));

TYPE AppCtxTabTyp IS TABLE OF AppCtxRecTyp;

DBMS_SESSION.LIST_CONTEXT ( 
   list OUT AppCtxTabTyp, 
   size OUT NUMBER);

參數說明

參數

說明

list

當前會話中的(命名空間、屬性、值)的列表。

size

list中條目的數量。

示例

該示例首先設置一些上下文屬性,隨后通過LIST_CONTEXT返回當前會話的活躍命名空間和上下文屬性以及值。

CREATE CONTEXT test_ctx USING ctx_pkg;

DECLARE
  att  DBMS_SESSION.AppCtxTabTyp;
  num  NUMBER;
BEGIN
  -- set context some values which can be listed later
  DBMS_SESSION.SET_CONTEXT('test_ctx', 'a', '1');
  DBMS_SESSION.SET_CONTEXT('test_ctx', 'b', '2');

  -- list all attributes in context
  DBMS_SESSION.LIST_CONTEXT(att, num);
  DBMS_OUTPUT.PUT_LINE('Number of attrs in context is: ' || num);
  DBMS_OUTPUT.PUT_LINE('The first attr is: ' || att(1).attribute);
  DBMS_OUTPUT.PUT_LINE('The first value is: ' || att(1).value);
  DBMS_OUTPUT.PUT_LINE('The second attr is: ' || att(2).attribute);
  DBMS_OUTPUT.PUT_LINE('The second value is: ' || att(2).value);
END;

-- Number of attrs in context is: 2
-- The first attr is: a
-- The first value is: 1
-- The second attr is: b
-- The second value is: 2

SET_CONTEXT

該存儲過程用于設置或者重置上下文屬性的值。

語法

DBMS_SESSION.SET_CONTEXT (
   namespace IN VARCHAR2,
   attribute IN VARCHAR2,
   value     IN VARCHAR2,
   username  IN VARCHAR2 DEFAULT NULL,
   client_id IN VARCHAR2 DEFAULT NULL);

參數說明

參數

說明

namespace

待設置上下文的命名空間。

attribute

待設置的上下文屬性。

value

屬性值。

username

(可選參數)兼容性提供參數。默認值為NULL。

client_id

(可選參數)兼容性提供參數。默認值為NULL。

示例

該示例通過SET_CONTEXT設置上下文屬性的值。

CREATE CONTEXT test_ctx USING ctx_pkg;

DECLARE
	val varchar(20);
BEGIN
	DBMS_SESSION.SET_CONTEXT('test_ctx', 'attr', '1');
	val := SYS_CONTEXT('test_ctx', 'attr');
	DBMS_OUTPUT.PUT_LINE('attr is:' || val);
END;
-- attr is:1

SET_ROLE

該存儲過程用于設置當前上下文的角色。

語法

DBMS_SESSION.SET_ROLE (
   role_cmd IN VARCHAR2);

參數說明

參數

說明

role_cmd

以字符串的格式指定的角色名稱。

示例

該示例展示了如何設置會話上下文的角色。

CREATE USER test_ctx_usr IDENTIFIED BY "passwd";

DECLARE
  usr varchar(20);
BEGIN
  DBMS_SESSION.SET_ROLE('test_ctx_usr');
  usr := SYS_CONTEXT('USERENV', 'SESSION_USER');
  -- SESSION USER IS: test_ctx_usr
  DBMS_OUTPUT.PUT_LINE('SESSION USER IS: ' || usr);
END;

SLEEP

該存儲過程用于將當前的會話暫停指定的時長。

語法

DBMS_SESSION.SLEEP (
   seconds  IN NUMBER);

參數說明

參數

說明

seconds

暫停會話的時長(以秒為單位)。

示例

該示例展示了如何將會話暫停指定的時長。

EXEC DBMS_SESSION.SLEEP(2);