Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana saya bisa mendapatkan Wilayah Zona Waktu dari SQLPLUS?

Saya berasumsi Pengembang SQL membuat ALTER SESSION SET time_zone=... saat Anda membuka koneksi baru.

Saya melihat beberapa solusi:

  • Tentukan variabel lingkungan TZ di host klien
  • Buat pemicu basis data dan atur zona waktu yang sesuai
  • Ubah zona waktu basis data - berfungsi kecuali ada pengguna yang menetapkan zona waktu pribadinya

Pemicu Basis Data:

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;

SELESAI;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Subquery Berkorelasi bekerja secara berbeda untuk Oracle 12c dan 11g

  2. C#:Berikan tipe yang ditentukan pengguna ke prosedur tersimpan Oracle

  3. Permintaan Zeppelin Oracle SQL berjalan lebih dulu

  4. Pengguna Umum Dengan hak istimewa SYSBACKUP

  5. Bagaimana Anda bisa tahu jika Paket, Prosedur, atau Fungsi PL/SQL sedang digunakan?