Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak mogę uzyskać region strefy czasowej z SQLPLUS?

Zakładam, że programista SQL tworzy niejawny ALTER SESSION SET time_zone=... po otwarciu nowego połączenia.

Widzę kilka rozwiązań:

  • Zdefiniuj zmienną środowiskową TZ na hoście klienta
  • Utwórz wyzwalacz bazy danych i odpowiednio ustaw strefę czasową
  • Zmień strefę czasową bazy danych - działa, chyba że jakikolwiek użytkownik ustawi swoją osobistą strefę czasową

Wyzwalacz bazy danych:

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;

KONIEC;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. problem w generowaniu numerów w sekwencji przy użyciu pamięci podręcznej

  2. Najlepszy sposób na dołączenie do tabel nadrzędnych i podrzędnych

  3. Błąd SQL:ORA-02291:ograniczenie integralności

  4. Błąd składni Oracle

  5. Porównaj dwa rekordy i pokaż tylko różnicę