Oracle Database
Creare un contesto
Ricerca…
Sintassi
- CREA lo spazio dei nomi [O REPLACE] CONTESTUO UTILIZZANDO il pacchetto [schema.];
- CREATE [O REPLACE] namespace CONTEXT UTILIZZO del pacchetto [schema.] INIZIALIZZATO ESTERNAMENTE;
- CREATE [O REPLACE] namespace CONTEXT UTILIZZO del pacchetto [schema.] INIZIALIZZATO GLOBALMENTE;
- CREATE [O REPLACE] namespace CONTEXT UTILIZZO del pacchetto [schema.] ACCESSED GLOBALLY;
Parametri
Parametro | Dettagli |
---|---|
OR REPLACE | Ridefinire uno spazio dei nomi di contesto esistente |
namespace | Nome del contesto: questo è lo spazio dei nomi per le chiamate a SYS_CONTEXT |
schema | Proprietario del pacchetto |
pacchetto | Pacchetto di database che imposta o reimposta gli attributi di contesto. Nota: il pacchetto database non deve esistere per creare il contesto. |
INITIALIZED | Specificare un'entità diversa dal Database Oracle che può impostare il contesto. |
EXTERNALLY | Consentire all'interfaccia OCI di inizializzare il contesto. |
GLOBALLY | Consentire alla directory LDAP di inizializzare il contesto quando si stabilisce la sessione. |
ACCESSED GLOBALLY | Consentire al contesto di essere accessibile attraverso l'intera istanza: più sessioni possono condividere i valori degli attributi purché abbiano lo stesso ID client. |
Osservazioni
Documentazione Oracle (12cR1): http://docs.oracle.com/database/121/SQLRF/statements_5003.htm
Crea un contesto
CREATE CONTEXT my_ctx USING my_pkg;
Questo crea un contesto che può essere impostato solo da routine nel pacchetto database my_pkg
, ad esempio:
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;
Ora, se una sessione fa questo:
my_pkg.set_ctx;
Ora può recuperare il valore per la chiave in questo modo:
SELECT SYS_CONTEXT('MY_CTX','THE KEY') FROM dual;
Value
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow