OracleのINSERT SELECT / SELECTした結果をINSERTするパターン



OracleのINSERT ~ SELECTのパターン

INSERT SELECT(SELECTしてINSERTする)のSQL OracleのINSERTは通常1レコードずつですが、SELECTした結果をまとめてINSERTすることもできます。

例1. 列が同じテーブルのINSERT SELECTパターン

列の定義が同じテーブル同士はこのようにINSERTで列を指定する必要がありません。最もシンプルなINSERT SELECTです。特徴としてはINSERTなのにVALUESがないところですね。

例2. 列を指定するINSERT SELECTパターン

ここでは列を指定して異なるテーブルのSELECT結果をINSERTしました。


例3. 指定データ&列を指定するINSERT SELECTパターン

ここではs_no,s_name列はSELECTの結果をINSERTしていますが、memoは直接データを指定しています。SELECT結果と指定データの混在パターンですね。

別テーブルのSELECT結果をINSERTするパターンとして3つとりあげました。

以上、OracleのINSERT SELECT(SELECTしてINSERTする)のパターンでした。