Oracle Database
Créer un contexte
Recherche…
Syntaxe
- CREATE [OU REPLACE] CONTEXT namespace UTILISATION du package [schema.];
- CREATE [OU REPLACE] CONTEXT namespace UTILISATION du package [schema.] INITIALIZED EXTERNALLY;
- CREATE [OU REPLACE] CONTEXT namespace UTILISATION du package [schema.] INITIALIZED GLOBALLY;
- CREATE [OU REPLACE] CONTEXT namespace UTILISATION du package [schema.] ACCESS GLOBALLY;
Paramètres
Paramètre | Détails |
---|---|
OR REPLACE | Redéfinir un espace de nom de contexte existant |
espace de noms | Nom du contexte - c'est l'espace de noms pour les appels à SYS_CONTEXT |
schéma | Propriétaire du forfait |
paquet | Package de base de données qui définit ou réinitialise les attributs de contexte. Remarque: le package de base de données ne doit pas nécessairement exister pour créer le contexte. |
INITIALIZED | Spécifiez une entité autre que Oracle Database qui peut définir le contexte. |
EXTERNALLY | Autorise l'interface OCI à initialiser le contexte. |
GLOBALLY | Autoriser l'annuaire LDAP à initialiser le contexte lors de l'établissement de la session. |
ACCESSED GLOBALLY | Autoriser le contexte à être accessible dans toute l'instance - plusieurs sessions peuvent partager les valeurs d'attribut tant qu'elles ont le même ID client. |
Remarques
Documentation Oracle (12cR1): http://docs.oracle.com/database/121/SQLRF/statements_5003.htm
Créer un contexte
CREATE CONTEXT my_ctx USING my_pkg;
Cela crée un contexte qui ne peut être défini que par les routines du package de base de données my_pkg
, par exemple:
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;
Maintenant, si une session fait cela:
my_pkg.set_ctx;
Il peut maintenant récupérer la valeur de la clé:
SELECT SYS_CONTEXT('MY_CTX','THE KEY') FROM dual;
Value
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow