sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo puedo obtener la región de zona horaria de SQLPLUS?

Supongo que SQL Developer hace un implícito ALTER SESSION SET time_zone=... cuando abre una nueva conexión.

Veo varias soluciones:

  • Definir la variable de entorno TZ en el host del cliente
  • Cree un activador de base de datos y configure la zona horaria en consecuencia
  • Cambiar la zona horaria de la base de datos:funciona a menos que algún usuario establezca su zona horaria personal

Activador de base de datos:

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;

FIN;