今天想在oracle中插入多条数据时想到了mysql中的多values插入
insert into t1(id,name) values('1','zhangsan'),('2','lisi');
数据库一直报错:ORA-00933:SQL命令为正常结束
一开始以为数据数据出问题,单个都试了一遍都可以执行,说明数据没有问题,从网上查看才知道是oracle数据库不支持这种数据插入方式。
但是如果想使用这种多values的方式插入可以使用另一种:
insert all into t1(id,name) values('1','zhangsan')
into t1(id,name) values('2','lisi')
select 1 from dual;
这里注意点
#1 insert all into不是insert into
#2 每一个数据都要使用into t1 values()
#3 最后是要使用select 1 from dual;(这里的dual只要不是t1都可以,如果想使用一个表名,那么查出来的数据条数要是一条, 不然插入的每一个数据都有两条,比如select 1 from dual 有两条,那么zhangsan和lisi都会插入两条)。
#4 只适合于Oralce 9i以上版本