Oracle12に表をSELECTして別の表へINSERTする方法

環境
Oracle Database 12c Standard Edition Release 12.2.0.1.0 – 64bit Production

書式1 列名が一致場合
INSERT INTO テーブル1 SELECT * FROM テーブル2;
取得元のテーブルと登録先のテーブルのテーブルの定義(カラム)が同じ場合は、登録先のテーブル名の後ろのカラム名を省略し、
SELECT句に*で登録します。

SQL構文

INSERT 
INTO USER_TBL 
SELECT
  * 
FROM
  MEMBER_TBL;

書式2 列名を指定する
INSERT INTO テーブル名1(カラム名1,カラム名2)
SELECT カラム名1,カラム名2 FROM テーブル名2;

SQL構文

INSERT 
INTO USER_TBL(UID, ADDR) 
SELECT
  UID
  , ADDR 
FROM
  MEMBER_TBL;

 

Oracle 12c

Posted by arkgame