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

Metaprogramowanie wyrocznia sql select — instrukcja

Ponieważ są to różne kolumny, należy je wyraźnie wymienić na liście WYBIERZ. Nie można tego robić dynamicznie w czystym SQL .

Proponuję użyć dobrego edytora tekstu , napisanie całego kodu SQL nie zajmie minuty lub dwóch.

Możesz użyć DECODE który będzie miał mniejszą składnię zamiast CASE wyrażenie, które jest pełne.

Na przykład

  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

Proponuję trzymać się SQL i nie używaj PL/SQL . Nie są takie same, to różne silniki. PL --> Procedural Language .

Ale jeśli nalegasz, możesz użyć kursora dla pętli aby przejść przez wszystkie kolumny w [DBA|ALL|USER]_TAB_COLS . Możesz użyć SYS_REFCURSOR aby zobaczyć dane. Najpierw musisz zbudować dynamiczny SQL .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przechowywać tylko czas; nie data i godzina?

  2. Czas zapytania o połączenie danych ODBC Excel potrzebny do odświeżenia każdego zapytania

  3. zagnieżdżone wybierz lub dołącz do zapytania?

  4. Jak włączyć XA Oracle 11g?

  5. CASE .. WHEN wyrażenie w Oracle SQL