Oracle把查询结果插入到表中几种方式

一、Oracle数据库中,把一张表的查询结果直接生成并导入一张新表中。

例如:现有只有A表,查询A表,并且把结果导入B表中。使用如下SQL语句:

1
create table b as select * from a

二、Oracle数据库中支持把查询结果导入到另外一张表中。

例如:有两个表A和B

1)如果两个表的表结构是否相同,但要插入的字段类型相同:

I 把A表的全部字段数据插入到B表中:

1
insert into B select * from A;

II 把A表中某些字段的数据插入B表中:

1
insert into B(字段名)(select 字段名 from A)  //注意查询条件,需要明确对应表的字段,例如where A.id

2)如果不在同一个schema下请在表名前加上schema,例如有schema a和b:

1
insert into b.B select * from a.A

附:Oracle生成UUID方法
Oracle中生成跨系统的唯一识别符UUID非常方便,比生成序列还简单,直接用sys_guid()即可。

文章作者: LiuYu
文章链接: https://www.liuyu.pw/2019/07/29/Oracle把查询结果插入到表中几种方式/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LiuYuBLOG
打赏
  • 微信
  • 支付宝

评论