在单个SQL中插入多行

时间:2013-05-20 09:04:35

标签: sql sql-server-2005 union-all

我试图用SQL语句插入多行。

为此,我提到this问题。

根据这个问题中得分最高的答案,我做了以下查询:

INSERT INTO login
(LogInID,Password)
UNION ALL
SELECT 'Name1','pass1'
UNION ALL
SELECT 'Name2','pass2'

但是当我尝试执行这个时,它给了我错误:

Msg 156, Level 15, State 1, Line 3
Incorrect syntax near the keyword 'UNION'.

此查询中的错误是什么?

这是一种错误的做法吗?

请帮帮我。

注意:我正在使用SQL SERVER 2005

2 个答案:

答案 0 :(得分:2)

您必须在第一个UNION ALL之前删除SELECT

INSERT INTO login (LogInID,Password)
SELECT 'Name1','pass1'
UNION ALL
SELECT 'Name2','pass2'

答案 1 :(得分:0)

即使它没有提供原始问题的答案,我认为值得知道SQL Server使用VALUES语法提供另一种语法:

insert into login values
('Name1','pass1'), 
('Name2','pass2'),
('Name3','pass3')