Oracle INSERT INTO ... SELECT 语法详解及示例
Oracle INSERT INTO ... SELECT 语法详解及示例
INSERT INTO ... SELECT 语法用于将数据从一个表复制到另一个表。它将 SELECT 语句的结果插入到目标表中。
语法:
INSERT INTO table_name (column1, column2, ...)
SELECT column1, column2, ...
FROM table_name
WHERE condition;
参数:
table_name: 目标表的名称。column1, column2, ...: 目标表中要插入的列名。SELECT column1, column2, ...: 用于选择源表中数据的SELECT语句。FROM table_name: 源表的名称。WHERE condition: 可选条件,用于过滤源表中的数据。
示例:
INSERT INTO employees (employee_id, first_name, last_name)
SELECT employee_id, first_name, last_name
FROM temp_employees
WHERE hire_date > '01-JAN-2022';
说明:
INSERT INTO ... SELECT语法将temp_employees表中hire_date大于 '01-JAN-2022' 的记录复制到employees表中。- 确保目标表中的列名与源表中的列名匹配,或者使用
AS子句为源表中的列指定别名。
注意:
- 在使用
INSERT INTO ... SELECT语法时,务必确保源表和目标表之间的列数据类型一致。 - 如果目标表中已经存在与源表中相同主键值的记录,则会发生错误。
- 为了安全起见,建议在执行
INSERT INTO ... SELECT语句之前先备份数据。
总结:
INSERT INTO ... SELECT 语法为 Oracle 数据库提供了强大的数据复制功能。通过使用该语法,您可以轻松地将数据从一个表复制到另一个表,并使用条件过滤源表中的数据。
原文地址: https://www.cveoy.top/t/topic/fm0d 著作权归作者所有。请勿转载和采集!