Como usar variáveis especiais com sql
Se um usuário em uma máquina cliente se conecta a um banco de dados SQL em um servidor, esta conexão estabelece uma sessão. Se o usuário se conecta a diversas bases de dados, a sessão associada com a conexão mais recente é considerado o sessão atual- sessões anteriores são considerados dormente. SQL define vários variáveis especiais que são valiosos em sistemas multiusuários. Estas variáveis acompanhar os diferentes usuários.
Aqui está uma lista das variáveis especiais:
SESSION_USER: A variável especial SESSION_USER tem um valor que é igual ao identificador da sessão SQL corrente autorização do usuário. Se você escrever um programa que executa uma função de monitoramento, você pode interrogar SESSION_USER para descobrir instruções SQL que está em execução.
USUÁRIO ATUAL: Um módulo de SQL pode ter um identificador de autorização especificado pelo usuário associado a ele. o USUÁRIO ATUAL variável armazena este valor. Se um módulo não tem tal identificador, USUÁRIO ATUAL tem o mesmo valor que SESSION_USER.
SYSTEM_USER: O SYSTEM_USER variável contém identificador de usuário do sistema operacional. Este identificador pode diferir do identificador que mesmo usuário em um módulo de SQL. Um usuário pode fazer logon no sistema como LARRY, por exemplo, mas identificar-se a um módulo como PLANT_MGR. O valor em SESSION_USER é PLANT_MGR. Se ele não faz nenhuma especificação explícita do identificador módulo, e USUÁRIO ATUAL também contém PLANT_MGR, SYSTEM_USER contém o valor LARRY.
o SYSTEM_USER, SESSION_USER, e USUÁRIO ATUAL variáveis especiais rastrear quem está usando o sistema. É possível manter uma tabela de registo e inserir periodicamente em que a tabela de valores que SYSTEM_USER, SESSION_USER, e USUÁRIO ATUAL conter. O exemplo seguinte mostra como:
INSERT INTO USAGELOG (INSTANTÂNEO) VALUES ( `User` || SYSTEM_USER || `com ID `|| SESSION_USER ||` ativa em` || CURRENT_TIMESTAMP) -
Esta declaração produz entradas de log semelhantes ao seguinte exemplo:
Usuário LARRY com ID PLANT_MGR ativo em 2013-04-07-23.50.00