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 

猜你喜欢

转载自xiushan.iteye.com/blog/1471293