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構文

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
INSERT
INTO USER_TBL
SELECT
*
FROM
MEMBER_TBL;
INSERT INTO USER_TBL SELECT * FROM MEMBER_TBL;
INSERT 
INTO USER_TBL 
SELECT
  * 
FROM
  MEMBER_TBL;

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

SQL構文

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
INSERT
INTO USER_TBL(UID, ADDR)
SELECT
UID
, ADDR
FROM
MEMBER_TBL;
INSERT INTO USER_TBL(UID, ADDR) SELECT UID , ADDR FROM MEMBER_TBL;
INSERT 
INTO USER_TBL(UID, ADDR) 
SELECT
  UID
  , ADDR 
FROM
  MEMBER_TBL;

 

Oracle 12c

Posted by arkgame