Oracle中把一张表查询结果插入到另一张表中

时间:2021-12-30 20:52:43
 

1. 新增一个表,通过另一个表的结构和数据

create table XTHAME.tab1 as select * from DSKNOW.COMBDVERSION

2. 如果表存在:

insert into tab1 select * from tab2;

 

3.同一个表中,将A字段的指赋给B字段:

update table_name set B =  A;

 

4. 将一个表的字段数据插入到另一个表的字段数据中

insert into XTHAME.tab1(pk_bdversion,vbdcode)  select pk_bdversion,vbdcode from  DSKNOW.COMBDVERSION;

* 如果报提醒:ORA-00928: 缺失 SELECT 关键字错误

  原因是:这里tab1(Field1,Field2,....)不能加单引号

5. 第4点的延伸,多个表的多个字段,插入同一个表的多个字段。

 INSERT INTO XTHAME.BUTTON (button_id, button_name, button_code)  select a.pk_examquest, b.pk_bdversion,a.vquestname  FROM  DSKNOW.COMBDVERSION b ,DSKNOW.RQT_EXAMQUEST a  where a.pk_examquest='1001SX1000000000JOBV' and b.pk_bdversion='1000BDV1000010101001';

 

Oracle中把一张表查询结果插入到另一张表中

Oracle中把一张表查询结果插入到另一张表中 一、Oracle数据库中,把一张表的查询结果直接生成并导入一张新表中。 例如:现有只有A表,查询A表,并且把结果导入B表中。使用如下SQL语句: Sql代码 create table B as select * from A 二、Oracle数据库中支持把
 Oracle中把一张表查询结果插入到另一张表中  一、Oracle数据库中,把一张表的查询结果直接生成并导入一张新表中。
  例如:现有只有A表,查询A表,并且把结果导入B表中。使用如下SQL语句:
  Sql代码
  create table B as select * from A
  二、Oracle数据库中支持把查询结果导入到另外一张表中。
  例如:有两个表A和B
  1)如果两个表的表结构是否相同,但要插入的字段类型相同:
  (1)把A表的全部字段数据插入到B表中:
  Sql代码
  insert into B select * from A;
  (2)把A表中某些字段的数据插入B表中:
  Sql代码
  insert into B(字段名)(select 字段名 from A)
  2)如果不在同一个schema下在表名前加上schema,例如有schema X和Y:
  Sql代码
  insert into Y.B select * from X.A