在使用SQL数据库的时候,我们也许会需要一次像数据库中添加多条记录,那么我们可以使用SQL语句来实现,该语句具体如下:
–添加一条记录
INSERT INTO tableName(col1,col2,col3) VALUES (1,2,3)
–添加多条记录
INSERT INTO tableName(col1,col2,col3)
SELECT 3,4,5
UNION ALL
SELECT 6,7,8
–从另外的一张表中读取多条数据添加到新表中
INSERT INTO tableName(col1,col2,col3)
SELECT a,b,c FROM tableA
–从其他的多张表中读取数据添加到新表中
INSERT INTO tableName(col1,col2,col3)
SELECT a,b,c FROM tableA WHERE a=1
UNION ALL
SELECT a,b,c FROM tableB WHERE a=2
上边代码中的into都可以省略!
上边代码中的union all如果换成union,则相同记录只插入一次,不会重复插入。
另外一种方法是SQL Server2008特有的,所以,如果你不是SQL Server2008,就不能使用这种方法了。
INSERT INTO MyTable(ID,NAME)VALUES(7,‘003’),(8,‘004’),(9,‘005’)
在ORACLE里面增加如:
INSERT INTO CONFIGURATION(KEY,VALUE)
SELECT ‘QTAX_DEFAULT_CURRENCY_CNY’,‘30’ from dual
UNION ALL SELECT ‘QTAX_DEFAULT_CURRENCY_HKD’,‘40’ from dual
UNION ALL SELECT ‘QTAX_DEFAULT_CURRENCY_HKD’,‘40’ from dual
注意注意:union不能用于插入含默认值的记录。