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 数据库提供了强大的数据复制功能。通过使用该语法,您可以轻松地将数据从一个表复制到另一个表,并使用条件过滤源表中的数据。

Oracle INSERT INTO ... SELECT 语法详解及示例

原文地址: https://www.cveoy.top/t/topic/fm0d 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录