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