#前言

插入数据就是将数据记录添加到已有的表数据中,oracle数据库通过insert 语句来实现插入数据记录。该语句既可以一次插入一条记录,也可以使用select 子句将查询结果集批量插入数据表。

  1. 单条插入数据是insert语句最基本的用法,语法如下:

    insert into table [(column1,column2,…)] value (value1,value2,…)

示例如下:
先创建一张测试表,创建之前先查询是否存在,以免覆盖已有表。可以先插入部分数据,后续测试使用。

create  table tmp_ceshi1(  branchid VARCHAR2(11),  prodno   VARCHAR2(20),  price    NUMBER(14,4) default 0)


插入一条数据

insert into tmp_ceshi1 (branchid,prodno,price) values('PRO','ABCD1254','6')


2.通过select 语句批量插入,语法如下:
insert into tablename (column1,column2,column3,…) selectSubquery

注:任何合法的select语句,其所选列的个数和类型要与语句中的column对应。
insert into 子句指定的列名可以与select 子句指定的列名不同,但他们之间的数据类型必须是兼容的

示例如下:
把A表的数据插入到目标表中
这是已经创建好的另一张表,把需要的字段插入目标表即可

select * from tmp_xtr_2022


这是测试表当前的数据

select * from tmp_ceshi1

insert into tmp_ceshi1 A (BRANCHID,PRODNO,PRICE) select BRANCHID,PROID,PRICE from tmp_xtr_2022 where PRICETYPECODE=637

效果如下: