Oracle Database
Een context maken
Zoeken…
Syntaxis
- CREATE [OF VERVANG] CONTEXT-naamruimte MET [pakket.] -Pakket;
- CREATE [OF VERVANG] CONTEXT-naamruimte MET [schema.] -Pakket EXTERN INITIALISED;
- CREATE [OF VERVANG] CONTEXT-naamruimte MET [schema.] -Pakket WERELDWIJD GEÏNITIALISEERD;
- CREATE [OF VERVANG] CONTEXT-naamruimte MET [schema.] -Pakket WERELDWIJD TOEGANG;
parameters
Parameter | Details |
---|---|
OR REPLACE | Definieer een bestaande contextnaamruimte opnieuw |
namespace | Naam van de context - dit is de naamruimte voor aanroepen naar SYS_CONTEXT |
schema | Eigenaar van het pakket |
pakket | Databasepakket dat de contextkenmerken instelt of opnieuw instelt. Opmerking: het databasepakket hoeft niet te bestaan om de context te maken. |
INITIALIZED | Geef een andere entiteit dan Oracle Database op die de context kan instellen. |
EXTERNALLY | Laat de OCI-interface de context initialiseren. |
GLOBALLY | Laat de LDAP-directory de context initialiseren bij het tot stand brengen van de sessie. |
ACCESSED GLOBALLY | Zorg ervoor dat de context gedurende het hele exemplaar toegankelijk is - meerdere sessies kunnen de kenmerkwaarden delen zolang ze dezelfde Client-ID hebben. |
Opmerkingen
Oracle-documentatie (12cR1): http://docs.oracle.com/database/121/SQLRF/statements_5003.htm
Creëer een context
CREATE CONTEXT my_ctx USING my_pkg;
Dit creëert een context die alleen kan worden ingesteld door routines in het databasepakket my_pkg
, bijvoorbeeld:
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;
Als een sessie dit nu doet:
my_pkg.set_ctx;
Het kan nu de waarde voor de sleutel ophalen:
SELECT SYS_CONTEXT('MY_CTX','THE KEY') FROM dual;
Value
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow