Oracle 「INSERT SELECT文」 SELECTした結果を別のテーブルにINSERTする方法

スポンサーリンク

SELECTした結果を別のテーブルにINSERTする方法

「INSERT SELECT文」の基本構文

全列を「テーブル2」からSELECTして「テーブル1」に挿入する場合。

INSERT INTO <テーブル1>
SELECT * FROM <テーブル2>
[WHERE <列名> = <式>]; 

列を指定して「テーブル1」からSELECTして「テーブル2」に挿入する場合。

INSERT INTO <テーブル2> ( <列名>[,<列名>,…] )
SELECT <列名>[,<列名>,…] FROM <テーブル1>
[WHERE <列名> = <式>]; 

「INSERT SELECT文」の実行例

列を指定しないデータを挿入する場合。

SQL> INSERT INTO animal2
  2  SELECT * FROM animal1;

3行が作成されました。

列を指定してデータを挿入する場合。

SQL> INSERT INTO animal2 ( id, name )
  2  SELECT id, name FROM animal1
  3   WHERE id = '001';

1行が作成されました。

コメント

タイトルとURLをコピーしました