sql >> Database teknologi >  >> RDS >> Oracle

Metaprogrammering oracle sql select-erklæring

Da de er forskellige kolonner, skal du udtrykkeligt nævne dem separat i SELECT-listen. Du kan ikke gøre det dynamisk i ren SQL .

Jeg vil foreslå, at du bruger en god teksteditor , ville det næppe tage et minut eller to at skrive hele SQL.

Du kan bruge DECODE som vil have noget mindre syntaks i stedet for CASE udtryk, der er verbose.

For eksempel,

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

Jeg vil foreslå at holde dig til SQL , og ikke bruge PL/SQL . De er ikke ens, de er forskellige motorer. PL --> Procedural Language .

Men hvis du insisterer, så kan du bruge en markør for loop at gå gennem alle kolonnerne i [DBA|ALL|USER]_TAB_COLS . Du kan bruge en SYS_REFCURSOR for at se dataene. Først skal du bygge den dynamiske SQL .



  1. Datarisikobegrænsning via datamaskering

  2. Log på med LDAP ved hjælp af JSF 2,1 &Apache Tomcat

  3. Kan ikke oprette forbindelse til lokal MySQL-server gennem socket '/var/lib/mysql/mysql.sock' (2)

  4. Indstilling af forbindelsestidszone med Spring og DBCP og MySQL