oracle将一个表数据插入到另一个表

本文详细介绍四种Oracle数据库数据迁移方法:部分表数据插入、全部表数据插入、简单数据插入及特定条件下数据选择性插入,适用于不同场景的数据转移需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、插入部分表数据,示列:将table_name_new表中五个字段对应插入到table_name表中,where后面是条件判断可去掉(where forgid = '0',插入指定行数据)

insert into table_name t (t.val1,t.val2,t.val3,t.val4,t.val5,t.val6,t.val7,t.val8,t.val9,t.val10,t.val11...) 
select c.val1,c.val2,'xx','xx',c.val3,c.val4,'xx','xx','xx','xx',c.val5... from table_name_new c where c.val1  is not null;

二、全部插入表数据,table_name与table_name_new表结构需要一样

insert into table_name (select t.val1,t.val2,t.val3... from tabel_name_new t)

三、简单插入表数据

insert into table_name values(val1,val2,val3,val4....)

insert into table_name t (t.val1,t.val2,t.val3...) values (val1,val2,val3...)

参考:oracle 插入表数据的4种方式 - Marydon - 博客园

### Oracle SQL 查询并将结果插入一张的方法 在Oracle数据库中,有多种方法可以实现将一个中的数据查询后插入一个。以下是几种常用的方式: #### 使用 `INSERT INTO ... SELECT` 语句 这是最常见的一种方式,适用于目标已经存在的情况。 ```sql INSERT INTO target_table (column1, column2, ...) SELECT source_column1, source_column2, ... FROM source_table; ``` 这种方式允许从源中选择特定列的数据,并将其插入到目标相应的列中[^1]。 #### 使用 `CREATE TABLE AS SELECT` 创建新并填充数据 如果希望基于查询结果创建一个新的,则可采用此命令。 ```sql CREATE TABLE new_table_name AS SELECT * FROM existing_table WHERE condition; ``` 这不仅会复制满足条件的数据行,还会自动建立具有适当结构的新。 #### 处理不同模式下的跨操作 当涉及到跨越不同方案(schema)的操作时,在指定名前加上完整的路径即可。 ```sql INSERT INTO schema_target.target_table (columns...) SELECT columns... FROM schema_source.source_table; ``` 对于更复杂的场景,比如需要处理多层嵌套关系或递归情况,可以通过组合使用子查询、连接(join)以及集合运算符(如UNION ALL)[^2]来构建更为灵活的SQL达式。 例如,为了合并来自多个数据再做插入动作: ```sql INSERT INTO final_destination(columns_list) WITH RECURSIVE cte AS ( -- 定义初始CTE部分 ), combined_data AS ( SELECT cols FROM tableA UNION ALL SELECT cols FROM tableB ) SELECT desired_columns FROM combined_data; ``` 以上展示了如何利用公共达式(Common Table Expression, CTE),并通过联合两个独立的选择结果集形成最终待插入数据集[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值