sql >> Databáze >  >> RDS >> Oracle

Metaprogramování příkaz Oracle SQL select

Protože se jedná o různé sloupce, musíte je výslovně uvést samostatně v seznamu SELECT. Nemůžete to dělat dynamicky v čistém SQL .

Doporučil bych použít dobrý textový editor , zápis celého SQL by stěží zabral minutu nebo dvě.

Můžete použít DECODE který bude mít o něco méně syntaxe místo CASE výraz, který je verbózní.

Například,

  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

Doporučuji držet se SQL a nepoužívejte PL/SQL . Nejsou stejné, jsou to různé motory. PL --> Procedural Language .

Ale pokud na tom trváte, můžete použít kurzor pro smyčku procházet všechny sloupce v [DBA|ALL|USER]_TAB_COLS . Můžete použít SYS_REFCURSOR abyste viděli data. Nejprve budete muset sestavit dynamický SQL .



  1. Přidání databázového poštovního účtu do profilu (T-SQL)

  2. Jak získat aktuální datum a čas (bez časového pásma) v PostgreSQL

  3. Odstraňte sadu výsledků dotazu SQL

  4. Pomocí Moodle vytvořte uživatele a zapište je do kurzů přes SQL