INSERT中的列少于VALUES

时间:2019-03-14 17:55:09

标签: sql sql-server

我正在编写一个存储过程,并声明了一个表作为代码的一部分。我收到错误消息

  

INSERT语句中的列少于VALUES子句中指定的值

这是我的代码:

DECLARE @FullTaskList TABLE (fval INT)

INSERT INTO @FullTaskList(fval) 
VALUES ( (1), (2), (3), (4), (5) )

如果您能帮助我,我将不胜感激。

2 个答案:

答案 0 :(得分:6)

您的括号太多了:

DECLARE @FullTaskList TABLE ( fval INT )
INSERT INTO @FullTaskList ( fval )
    VALUES (1), (2), (3), (4), (5);

您的语法被解释为(1, 2, 3, 4, 5),即一行中有五个值,而不是一行中有五个值。

答案 1 :(得分:5)

删除多余的括号,因为这表明您将插入5列而不是5行

DECLARE @FullTaskList TABLE ( fval INT )
INSERT INTO @FullTaskList ( fval ) 
VALUES  (1), (2), (3), (4), (5) ;