Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment puis-je obtenir la région du fuseau horaire de SQLPLUS ?

Je suppose que SQL Developer implique ALTER SESSION SET time_zone=... lorsque vous ouvrez une nouvelle connexion.

Je vois plusieurs solutions :

  • Définir la variable d'environnement TZ sur l'hôte client
  • Créez un déclencheur de base de données et définissez le fuseau horaire en conséquence
  • Modifier le fuseau horaire de la base de données - fonctionne à moins qu'un utilisateur ne définisse son fuseau horaire personnel

Déclencheur de base de données :

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 ;