ORACLE中insert into与select into两种表复制语句比较
ORACLE中insert into与select into两种表复制语句比较
在oracle数据库中我们常用的表数据插入语句 INSERT INTO TableName(column1,column1,...) values(value1,value2,...) ,这是开发过程中最基础的表数据插入语句, 开发和我们经常会通过insert一条条插入数据记录。
在开发和测试的过程中,我们经常会发现我们并不想把查询出的语句通过FOR循环一条条的插入,而且我们知道SQL并不是面向记录的的而是数据集合的,oracle也提供了下面两种方法将查询出的数据一次性插入数据库中。
1、insert into select(待插入表必须存在)
语法1:INSERT INTO TableName1(column1,column1,...) SELECT value1,value2,.. FROM TableName2
如果确定量表的数据是一致的亦可直接使用如下方法
语法2 INSERT INTO TableName1 SELECT * FROM TableName2
或者 INSERT INTO TableName1 SELECT value1,value2,.. FROM TableName2
语法2的前提条件是每个字段的字段类型徐对应或者可以自动转换
2、select into (待插入表不存在)
语法: SELECT value1,value2,... INTO TableName2 FROM TableName1
这种形式插入时会自动创建TableName2