Cómo utilizar variables especiales con sql

Si un usuario en una máquina cliente se conecta a una base de datos SQL en un servidor, esta conexión se establece una sesión. Si el usuario se conecta a varias bases de datos, la sesión asociada a la conexión más reciente se considera el sesión actual- sesiones anteriores son considerados latente. SQL define varios variables especiales que son valiosos en sistemas multiusuario. Estas variables no perder de vista los diferentes usuarios.

He aquí una lista de las variables especiales:

  • SESSION_USER: La variable especial SESSION_USER posee un valor que es igual al identificador de autorización de usuario de la sesión de SQL actual. Si usted escribe un programa que realiza una función de control, se puede interrogar SESSION_USER para averiguar quién está ejecutando instrucciones SQL.

  • USUARIO ACTUAL: Un módulo de SQL puede tener un identificador de autorización especificado por el usuario asociado con él. los USUARIO ACTUAL tiendas variables de este valor. Si un módulo no tiene ese identificador, USUARIO ACTUAL tiene el mismo valor que SESSION_USER.

  • SYSTEM_USER: Los SYSTEM_USER variable contiene el identificador de usuario del sistema operativo. Este identificador puede ser diferente de identificador que mismo usuario en un módulo de SQL. Un usuario puede iniciar sesión en el sistema como LARRY, por ejemplo, pero identificarse a sí mismo como a un módulo PLANT_MGR. El valor en SESSION_USER es PLANT_MGR. Si él no hace ninguna especificación explícita del identificador de módulo, y USUARIO ACTUAL también contiene PLANT_MGR, SYSTEM_USER tiene el valor LARRY.

los SYSTEM_USER, SESSION_USER, y USUARIO ACTUAL variables especiales seguimiento de quién está utilizando el sistema. Usted puede mantener una tabla de registro e insertar periódicamente en esa mesa de los valores que SYSTEM_USER, SESSION_USER, y USUARIO ACTUAL contener. El siguiente ejemplo muestra cómo:

INSERT INTO USAGELOG (INSTANTÁNEA) VALUES (|| SYSTEM_USER 'Usuario' || 'con el ID' || SESSION_USER || 'activo a' || CURRENT_TIMESTAMP) -

Esta declaración produce entradas de registro similar al siguiente ejemplo:

Usuario LARRY con PLANT_MGR ID activa en 2013-04-07-23.50.00



» » » » Cómo utilizar variables especiales con sql