在单个SQL查询中插入多行?
这个问题在这里已经有了答案:
在SQL Server 2008中,您可以使用单个SQL INSERT语句插入多行。
INSERT INTO MyTable ( Column1, Column2 ) VALUES
( Value1, Value2 ), ( Value1, Value2 )
有关此参考,请参阅MOC Course 2778A - 在SQL Server 2008中编写SQL查询。
例如:
INSERT INTO MyTable ( Column1, Column2, Column3 )
VALUES ('John', 123, 'Lloyds Office'),
('Jane', 124, 'Lloyds Office'),
('Billy', 125, 'London Office'),
('Miranda', 126, 'Bristol Office');
如果您插入到单个表中,则可以像这样编写查询(可能仅在MySQL中):
INSERT INTO table1 (First, Last)
VALUES
('Fred', 'Smith'),
('John', 'Smith'),
('Michael', 'Smith'),
('Robert', 'Smith');
注意:此答案适用于SQL Server 2005.对于SQL Server 2008和更高版本,其他答案中有更好的方法。
您可以使用INSERT和SELECT UNION ALL:
INSERT INTO MyTable (FirstCol, SecondCol)
SELECT 'First' ,1
UNION ALL
SELECT 'Second' ,2
UNION ALL
SELECT 'Third' ,3
...
尽管如此,对于小数据集来说,对于您的4条记录来说应该没问题。
链接地址: http://www.djcxy.com/p/2761.html