SQL Server使用一个语句块批量插入多条记录的三种方法
作者:xbf321
本文介绍了三种不同的方法向数据库中一次插入多条记录的方法,第三种方法是SQL Server2008中特有的,大家体验一下吧。
我们在日常操作中,免不了对数据库的某张表,一次性的要插入多条记录,但是首先想到的就是复制,粘帖N多重复的INSERT INTO 语句,万一某一个少了一个分号,或多个逗号之类的,产生错误,要找起来可就费尽了,既浪费时间,又耽误工作。
除了上面所说的方法外,其实还有二中方法,相比较起来要比之前那个要简洁。
首先是之前那个方法:
复制代码 代码如下:
INSERT INTO MyTable(ID,NAME) VALUES(1,'123');
INSERT INTO MyTable(ID,NAME) VALUES(2,'456');
INSERT INTO MyTable(ID,NAME) VALUES(3,'789');
INSERT INTO MyTable(ID,NAME) VALUES(2,'456');
INSERT INTO MyTable(ID,NAME) VALUES(3,'789');
第二种方法,使用UNION ALL来进行插入操作:
复制代码 代码如下:
INSERT INTO MyTable(ID,NAME)
SELECT 4,'000'
UNION ALL
SELECT 5,'001'
UNION ALL
SELECT 6,'002'
SELECT 4,'000'
UNION ALL
SELECT 5,'001'
UNION ALL
SELECT 6,'002'
是不是要比第一种方法简单点,据说要比第一种要快!
第三种方法就有点特别了,是SQL Server2008特有的,所以,如果你不是SQL Server2008,就不能使用这种方法了,所以赶快升级吧!体验一下SQL Server2008给我们带了的好处。
复制代码 代码如下:
INSERT INTO MyTable(ID,NAME)
VALUES(7,'003'),(8,'004'),(9,'005')
VALUES(7,'003'),(8,'004'),(9,'005')
上面演示了3种不同的方法来向数据库一次插入多条数据,第三种方法看起来比较简洁高效,推荐大家都赶快升级到SQL Server2008吧。