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

Oracleに複数の行を挿入する

    パフォーマンスの観点から、これらのクエリは同一です。

    UNION ALL Oracleなので、パフォーマンスを損なうことはありません UNIONを推定します 必要な場合にのみクエリを実行し、最初に結果をキャッシュしません。

    SELECT SELECTをより簡単に操作できるという意味で、構文はより柔軟です。 何かを変更したい場合はクエリを実行します。

    たとえば、次のクエリ:

    insert into pager (PAG_ID,PAG_PARENT,PAG_NAME,PAG_ACTIVE)
              select 8000,0,'Multi 8000',1 from dual
    union all select 8001,0,'Multi 8001',1 from dual
    

    次のように書き直すことができます

    INSERT
    INTO    pager (PAG_ID,PAG_PARENT,PAG_NAME,PAG_ACTIVE)
    SELECT  7999 + level, 0, 'Multi ' || 7999 + level, 1
    FROM    dual
    CONNECT BY
            level <= 2
    

    2を置き換える 適切な数を使用すると、必要な数の行を取得できます。

    INSERT ALLの場合 、宛先テーブルの説明を複製する必要があります。たとえば、40が必要な場合は、読みにくくなります。 行。



    1. SQLServerでNULL=NULLがfalseと評価されるのはなぜですか

    2. mysqlルートパスワードを変更する方法

    3. Oracle SQLDeveloperでストアドプロシージャを実行するにはどうすればよいですか?

    4. SQL Union –UNION演算子に関する包括的なガイド