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;
需要注意的是,目標表和源表的列數和列名必須一一對應,否則會出錯。