Seleccionar página

Contexto APEX$SESSION

Escrito por: Eddie Molina

Oracle ACE Pro. Oracle APEX Cloud Developer Certified Professional. Presidente de ORAUGCRC (Grupo de Usuarios Oracle de Costa Rica). Miembro de líderes de LAOUC. Conferencista, consultor, desarrollador y capacitador en tecnologías Oracle, especialmente Oracle Application Express con más de 30 años de experiencia.

20/01/2020

A partir de la versión 5.0 de APEX, se creo un nuevo contexto de aplicación: APEX$SESSION, el cual almacena nombre de usuario, identificador de sesión e identificador de espacio de trabajo. Esta información se puede utilizar para filtrar información, al igual que lo hacemos por ejemplo con la función V, sin embargo, el uso de este contexto ejecuta las consultas mucho más rápido que la función V.

APEX define el contexto APEX$SESSION cuando comienza a procesar una solicitud entrante. Por ejemplo, puede utilizar cualquiera de sus tres valores para filtrar consultas y para políticas de VPD (Bases de datos Vituales Privadas) que protegen sus datos en tablas.

Como se mencionó, este contexto “guarda” tres valores diferentes: APP_SESSION, APP_USER y WORKSPACE_ID. A continuación tres ejemplos de posibles usos de estos valores, utilizando cada uno de estos valores del contexto.

SELECT … WHERE apex_session_id = SYS_CONTEXT(‘APEX$SESSION’, ‘APP_SESSION’)

SELECT … WHERE username = SYS_CONTEXT(‘APEX$SESSION’, ‘APP_USER’)

SELECT … WHERE workspace_id = SYS_CONTEXT(‘APEX$SESSION’, ‘WORKSPACE_ID’)

Puede leer sobre las diferencias de rendimiento con respecto a la función V en el post de Srihari RavvaOracle APEX SYS_CONTEXT vs V Function

También te puede gustar…

Share This