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