Oracle Database
Creando un contexto
Buscar..
Sintaxis
- CREAR [O REEMPLAZAR] el espacio de nombres CONTEXTO USANDO el paquete [schema.];
- CREAR [O REEMPLAZAR] el espacio de nombres CONTEXTO UTILIZANDO el paquete [esquema.] INICIALIZADO EXTERNAMENTE;
- CREAR [O REEMPLAZAR] el espacio de nombres CONTEXTO UTILIZANDO el paquete [esquema.] INICIALIZADO GLOBALMENTE;
- CREAR [O REEMPLAZAR] el espacio de nombres CONTEXTO UTILIZANDO el paquete [schema.] ACCESSED GLOBALLY;
Parámetros
Parámetro | Detalles |
---|---|
OR REPLACE | Redefinir un espacio de nombres de contexto existente |
espacio de nombres | Nombre del contexto: este es el espacio de nombres para las llamadas a SYS_CONTEXT |
esquema | Propietario del paquete |
paquete | Paquete de base de datos que establece o restablece los atributos de contexto. Nota: el paquete de base de datos no tiene que existir para crear el contexto. |
INITIALIZED | Especifique una entidad que no sea Oracle Database que pueda establecer el contexto. |
EXTERNALLY | Permitir que la interfaz OCI inicialice el contexto. |
GLOBALLY | Permitir que el directorio LDAP inicialice el contexto al establecer la sesión. |
ACCESSED GLOBALLY | Permita que el contexto sea accesible en toda la instancia: varias sesiones pueden compartir los valores de los atributos siempre que tengan la misma ID de cliente. |
Observaciones
Documentación de Oracle (12cR1): http://docs.oracle.com/database/121/SQLRF/statements_5003.htm
Crear un contexto
CREATE CONTEXT my_ctx USING my_pkg;
Esto crea un contexto que solo se puede configurar mediante rutinas en el paquete de base de datos my_pkg
, por ejemplo:
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;
Ahora, si una sesión hace esto:
my_pkg.set_ctx;
Ahora puede recuperar el valor de la clave de esta manera:
SELECT SYS_CONTEXT('MY_CTX','THE KEY') FROM dual;
Value
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow