Sök…


Syntax

  • SKAPA [ELLER Byt ut] CONTEXT-namnutrymmet ANVÄNDA [schema.] -Paketet;
  • SKAPA [ELLER Byt ut] KONTEXT namnutrymme ANVÄNDNING av [schema.] -Paket INITIALISERAD EXTERNT;
  • SKAPA [ELLER Byt ut] KONTEXT namnutrymme med hjälp av [schema.] -Paket INITIALISERAD GLOBALLT;
  • SKAPA [ELLER Byt ut] KONTEXT namnutrymme ANVÄNDNING av [schema.] -Paket TILLGÄNGD GLOBALT;

parametrar

Parameter detaljer
OR REPLACE Omdefiniera ett befintligt sammanhangsnamnområde
namnutrymme Kontextens namn - detta är namnområdet för samtal till SYS_CONTEXT
schema Paketets ägare
paket Databaspaket som anger eller återställer kontextattributen. Obs: databaspaketet behöver inte existera för att skapa kontext.
INITIALIZED Ange en annan enhet än Oracle-databas som kan ställa in sammanhanget.
EXTERNALLY Låt OCI-gränssnittet initialisera kontexten.
GLOBALLY Låt LDAP-katalogen initiera sammanhanget när sessionen skapas.
ACCESSED GLOBALLY Låt sammanhanget vara tillgängligt i hela instansen - flera sessioner kan dela attributvärdena så länge de har samma klient-ID.

Anmärkningar

Oracle-dokumentation (12cR1): http://docs.oracle.com/database/121/SQLRF/statements_5003.htm

Skapa en kontext

CREATE CONTEXT my_ctx USING my_pkg;

Detta skapar en kontext som bara kan ställas in av rutiner i databaspaketet my_pkg , t.ex.

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;

Om en session gör detta:

my_pkg.set_ctx;

Det kan nu hämta värdet för nyckeln på så sätt:

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

Value


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow