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