我正在编写一个存储过程,并声明了一个表作为代码的一部分。我收到错误消息
INSERT语句中的列少于VALUES子句中指定的值
这是我的代码:
DECLARE @FullTaskList TABLE (fval INT)
INSERT INTO @FullTaskList(fval)
VALUES ( (1), (2), (3), (4), (5) )
如果您能帮助我,我将不胜感激。
答案 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) ;