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

Metaprogramming Oracle sql pilih pernyataan

Karena mereka adalah kolom yang berbeda, Anda harus secara eksplisit menyebutkannya secara terpisah dalam daftar SELECT. Anda tidak dapat melakukannya secara dinamis dalam SQL pure murni .

Saya akan menyarankan, menggunakan editor teks yang bagus , hampir tidak perlu satu atau dua menit untuk menulis seluruh SQL.

Anda dapat menggunakan DECODE yang akan memiliki sintaks yang lebih sedikit daripada CASE ekspresi yang verbose.

Misalnya,

  DECODE(ONE, 1, 1, 0) AS col1, 
  DECODE(JUST_ONE, 1, 1, 0) AS col2,
  DECODE(ANOTHER_ONE, 1, 1, 0) AS col3,
  DECODE(TWO, 1, 1, 0) AS col4,
  DECODE(JUST_TWO, 1, 1, 0) AS col5,
  DECODE(ANOTHER_TWO, 1, 1, 0) as col6

Saya akan menyarankan untuk tetap menggunakan SQL , dan tidak menggunakan PL/SQL . Mereka tidak sama, mereka adalah mesin yang berbeda. PL --> Procedural Language .

Tetapi jika Anda bersikeras, maka Anda bisa menggunakan kursor untuk loop untuk mengulang semua kolom di [DBA|ALL|USER]_TAB_COLS . Anda dapat menggunakan SYS_REFCURSOR untuk melihat datanya. Pertama, Anda harus membangun SQL dinamis .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah ini Masalah Microsoft atau Oracle?

  2. -bash:imp:perintah tidak ditemukan oracle

  3. Cara menentukan Skema di dalam file Ekspor Pompa Data Oracle

  4. Menyembunyikan kata sandi teks biasa dengan baris perintah sqlplus

  5. Oracle ORA-01805 pada database Oracle 11g