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

OracleSQLでの一時テーブルの作成

    WITH 節はあなたが説明しているものに最も近いもののように聞こえます。ただし、そのためには、何らかの方法でデータを生成する必要があります。 DUALから選択 おそらく最も簡単なオプションです

    WITH my_temp_table AS (
      SELECT 'One' name, 1 num from dual union all
      SELECT 'Two', 2 from dual union all
      SELECT 'Three', 3 from dual union all
      SELECT 'Four', 4 from dual
    )
    SELECT *
      FROM my_temp_table 
           JOIN person ON (<<some join condition>>)
     WHERE <<some predicate>>
    

    大量のクエリを結合したくないので、次のようなことを行うことができます

    WITH my_temp_table AS (
      select level num,
             initcap( to_char( to_date( level, 'J' ),
                               'JSP' )) name
        from dual
     connect by level <= 4
    )
    ...
    



    1. グループごとのSQLカウント

    2. TalendでMysqlinputのスキーマをオンザフライで推測する方法

    3. タイムスタンプとは?

    4. ORA-12516、TNS:リスナーは使用可能なハンドラーを見つけることができませんでした