SQL语句一次插入多条记录
在使用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?