Oracle Database
Tworzenie kontekstu
Szukaj…
Składnia
- UTWÓRZ [LUB WYMIENIJ] KONTEKST przestrzeń nazw Z WYKORZYSTANIEM pakietu [schemat];
- UTWÓRZ [LUB WYMIENIJ] KONTEKST przestrzeń nazw Z WYKORZYSTANIEM pakietu [schemat.] INICJALIZOWANY ZEWNĘTRZNIE;
- UTWÓRZ [LUB WYMIEŃ] KONTEKST przestrzeń nazw Z KORZYSTANIEM z [schematu.] Pakiet ZINICJALIZOWANY GLOBALNIE;
- TWORZENIE [LUB WYMIANA] KONTEKST przestrzeni nazw Z KORZYSTANIEM z [schematu.] Pakiet ACCESSED GLOBALLY;
Parametry
Parametr | Detale |
---|---|
OR REPLACE | Przedefiniuj istniejącą przestrzeń nazw kontekstu |
przestrzeń nazw | Nazwa kontekstu - jest to przestrzeń nazw dla wywołań SYS_CONTEXT |
schemat | Właściciel pakietu |
pakiet | Pakiet bazy danych, który ustawia lub resetuje atrybuty kontekstu. Uwaga: pakiet bazy danych nie musi istnieć, aby utworzyć kontekst. |
INITIALIZED | Podaj jednostkę inną niż Baza danych Oracle, która może ustawić kontekst. |
EXTERNALLY | Pozwól interfejsowi OCI zainicjować kontekst. |
GLOBALLY | Pozwól katalogowi LDAP zainicjować kontekst podczas ustanawiania sesji. |
ACCESSED GLOBALLY | Zezwól na dostęp do kontekstu w całej instancji - wiele sesji może współużytkować wartości atrybutów, o ile mają ten sam identyfikator klienta. |
Uwagi
Dokumentacja Oracle (12cR1): http://docs.oracle.com/database/121/SQLRF/statements_5003.htm
Utwórz kontekst
CREATE CONTEXT my_ctx USING my_pkg;
Tworzy to kontekst, który można ustawić tylko przez procedury w pakiecie bazy danych my_pkg
, np .:
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;
Teraz, jeśli sesja to zrobi:
my_pkg.set_ctx;
Może teraz pobrać wartość klucza w ten sposób:
SELECT SYS_CONTEXT('MY_CTX','THE KEY') FROM dual;
Value
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow