sql >> データベース >  >> RDS >> Oracle

メタプログラミングoraclesqlselectステートメント

    これらは異なる列であるため、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を作成する必要があります 。



    1. MySQL列の照合を発見する

    2. Mysql結合データが空の場合でも行を返す方法

    3. データベースからdjangoモデルを生成することは可能ですか?

    4. Android:MySQLに保存するデータを送信する