2024年3月21日发(作者:)

在Oracle数据库中,可以使用INSERT INTO SELECT语句将查

询结果插入到目标表中。以下是INSERT INTO SELECT语句的基本

语法:

```sql

INSERT INTO 目标表 (列1, 列2, 列3, ...)

SELECT 列1, 列2, 列3, ...

FROM 源表

WHERE 条件;

```

其中,目标表是要插入数据的目标表,列1, 列2, 列3, ... 是目

标表中的列名,源表是要从中查询数据的表,WHERE子句是可选的,

用于指定查询条件。

例如,假设有一个源表source_table,包含列col1、col2和col3,

现在想要将满足特定条件的数据插入到目标表target_table中,可以

使用以下语句:

```sql

INSERT INTO target_table (col1, col2, col3)

SELECT col1, col2, col3

FROM source_table

WHERE col1 > 10;

```

这将从source_table中选择col1大于10的行,并将这些行的col1、

col2和col3插入到target_table中。

需要注意的是,目标表中的列数和类型必须与查询结果的列数和

类型匹配。如果目标表中的列数或类型与查询结果的列数或类型不匹

配,将会出现错误。另外,如果目标表中存在主键约束,那么在插入

数据时必须满足主键约束的要求。