建立一個上下文

CREATE CONTEXT my_ctx USING my_pkg;

這建立了一個只能由資料庫包 my_pkg 中的例程設定的上下文,例如:

CREATE PACKAGE my_pkg AS
  PROCEDURE set_ctx;
END my_pkg;

CREATE PACKAGE BODY my_pkg AS
  PROCEDURE set_ctx IS
  BEGIN
    DBMS_SESSION.set_context('MY_CTX','THE KEY','Value');
    DBMS_SESSION.set_context('MY_CTX','ANOTHER','Bla');
  END set_ctx;
END my_pkg;

現在,如果會話執行此操作:

my_pkg.set_ctx;

它現在可以檢索金鑰的值,從而:

SELECT SYS_CONTEXT('MY_CTX','THE KEY') FROM dual;

Value