8
6

More than 5 years have passed since last update.

【PL/SQL】SELECT結果でINSERTする(INSERT SELECT)

Last updated at Posted at 2019-03-18

SELECT結果でINSERTする(INSERT SELECT)

やりたいこと

SELECT結果をINSERT文に使用します。
INSERT文の基本的な構成は以下のようになります。
(
[更新対象列名]
)VALUES(
[値]
)

ここでは[値]の代わりにSELECTの結果をINSERTに使用します。
データの更新は下記を参照してください。
【PL/SQL】SELECT結果でUPDATEする(UPDATE SELECT)

INSERT INTO {テーブル}
( 
  {列1},{列2}
) VALUES(
  1,2
);

コード(列構成が異なるテーブルからのINSERT)

以下の例ではSELECT結果を2つの項目にINSERTしています。
組み合わせによっては、様々な情報を取得してINSERTに使用できます。
この時、列の数やデータ定義に注意してください。

--SELECTした結果でINSERTする
INSERT INTO emp_mst
(address,add_no) 
SELECT address,add_no 
     FROM addno 
     WHERE add_no = '111-1111';

コード(列構成が同じテーブルからのINSERT)

以下の例では同じテーブル構成を持つ「emp_mst2」から「emp_mst」へ全件のデータがINSERTされます。
データを絞りたい場合にはSELECT文のWHERE句を追記します。

--SELECTした結果でINSERTする
INSERT INTO emp_mst
SELECT *
FROM emp_mst2;
8
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6