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

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;

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA