수색…


통사론

  • CREATE [또는 REPLACE] CONTEXT 네임 스페이스 USING [스키마.] 패키지;
  • CREATE [OR REPLACE] CONTEXT 네임 스페이스 USING [스키마.] 패키지 INITIALIZED EXTERNALLY;
  • CREATE [OR REPLACE] CONTEXT 네임 스페이스 USING [schema.] 패키지 INITIALIZED GLOBALLY;
  • CREATE [OR REPLACE] CONTEXT 네임 스페이스 USING [schema.] 패키지 ACCESSED GLOBALLY;

매개 변수

매개 변수 세부
OR REPLACE 기존 컨텍스트 네임 스페이스 다시 정의
네임 스페이스 컨텍스트의 이름 - SYS_CONTEXT 대한 호출의 네임 스페이스입니다.
개요 패키지 소유자
꾸러미 컨텍스트 특성을 설정하거나 다시 설정하는 데이터베이스 패키지입니다. 주 : 컨텍스트를 작성하기 위해 데이터베이스 패키지가 존재할 필요는 없습니다.
INITIALIZED 컨텍스트를 설정할 수있는 Oracle Database 이외의 엔티티를 지정하십시오.
EXTERNALLY OCI 인터페이스가 컨텍스트를 초기화하도록 허용하십시오.
GLOBALLY 세션을 설정할 때 LDAP 디렉토리가 컨텍스트를 초기화하도록 허용하십시오.
ACCESSED GLOBALLY 전체 인스턴스에서 컨텍스트에 액세스 할 수있게합니다. 동일한 클라이언트 ID를 가진 경우 여러 세션이 속성 값을 공유 할 수 있습니다.

비고

Oracle 설명서 (12cR1) : http://docs.oracle.com/database/121/SQLRF/statements_5003.htm

컨텍스트 만들기

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


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow