これらは異なる列であるため、SELECTリストで個別に明示的に指定する必要があります。純粋なSQLでは動的に実行できません 。
良いテキストエディタを使用することをお勧めします 、SQL全体を作成するのに1、2分かかることはほとんどありません。
DECODEを使用できます CASEの代わりに構文が少し少なくなります 冗長な表現。
たとえば、
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
SQLに固執することをお勧めします 、 PL / SQLは使用しないでください 。それらは同じではなく、異なるエンジンです。 PL --> Procedural Language
。
ただし、主張する場合は、カーソルforループを使用できます。 [ DBA | ALL | USER] _TAB_COLSのすべての列をループします 。 SYS_REFCURSORを使用できます データを表示します。まず、動的SQLを作成する必要があります 。