向临时表插入多个值,SQL Server

7

我正在使用Microsoft SQL Server Management Studio,我想运行以下查询将值输入到临时表中以便以后使用:

CREATE TABLE #temptable
(colnumber varchar(15), dispcode varchar(10))

INSERT INTO #temptable (colnumber, dispcode)
VALUES 
('col5', '811'),
('col6', '817'),
('col7', '823'),
('col8', '825');

运行时出现以下错误:

Msg 102,Level 15,State 1,Line 50
附近有错误的语法。

这指向了这一行:("col5","811"),

有没有人能帮我识别这里的问题?


它运行良好,请参见此处...http://www.sqlfiddle.com/#!3/773e2/1 - Amit Singh
4
你使用的是哪个版本的SQL Server?只有在SQL Server 2008中才引入了这种指定多组数据用于INSERT的能力,它不适用于早期版本。 - marc_s
1个回答

15

对于SQL Server版本<2008,请使用以下内容:

INSERT INTO #temptable (colnumber, dispcode)
SELECT 'col5', '811'
UNION ALL SELECT 'col6', '817'
UNION ALL SELECT 'col7', '823'
UNION ALL SELECT 'col8', '825'

奇怪的是我正在使用2012年版本,但是这种方法对我有效,所以谢谢! - user2643021
你可能正在兼容模式下运行并使用旧引擎。请检查一下。 - OzrenTkalcecKrznaric

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接