Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como posso obter a região do fuso horário do SQLPLUS?


Presumo que o SQL Developer faça um ALTER SESSION SET time_zone=... implícito quando você abre uma nova conexão.

Vejo várias soluções:
  • Definir a variável de ambiente TZ no host do cliente
  • Crie um gatilho de banco de dados e defina o fuso horário de acordo
  • Alterar o fuso horário do banco de dados - funciona a menos que qualquer usuário defina seu fuso horário pessoal

Acionador de banco de dados:
CREATE OR REPLACE TRIGGER LOG_T_LOGON 
   AFTER LOGON ON DATABASE
DECLARE

BEGIN
   IF ora_login_user IS NULL THEN 
      RETURN;
   END IF;
   IF ora_login_user IN (...) THEN -- Prevent to be executed for EACH user
      execute immediate 'ALTER SESSION SET time_zone = ''America/New_York''';
   END IF;
END;

FIM;