Oracleの「insert into select」の使用法

OracleにおけるINSERT INTO SELECT文は、あるテーブルのデータを別のテーブルに挿入するために使用されます。構文は以下の通りです:

INSERT INTO table1 (column1, column2, ...)
SELECT column1, column2, ...
FROM table2
WHERE condition;

table1はターゲット・テーブルであり、column1、column2などはターゲット・テーブルに挿入する必要のある列名です。table2はソース・テーブルであり、column1、column2などはソース・テーブルに挿入する必要のある列名です。conditionはオプションであり、ソース・テーブルのデータを選別するために使用されます。

たとえば、あるテーブル内のすべてのデータを別の空のテーブルに挿入するには、以下の文を使用することができます:

INSERT INTO table1
SELECT *
FROM table2;

特定の条件を満たすデータのみを元のテーブルに挿入したい場合は、WHERE句を使用してフィルタリングすることができます。例えば、

INSERT INTO table1 (column1, column2, ...)
SELECT column1, column2, ...
FROM table2
WHERE condition;

目標表とソース表の列数と列名は一致している必要があります。そうでない場合、エラーが発生する可能性があります。

bannerAds