Skip to content
Advertisement

Selecting variables as individual rows in table [closed]

I’m trying to select different variables into a temporary table as individual rows, but I’m being advised that ‘there are fewer columns in the insert statement than values specified…’ How would I insert these as individual rows?

INSERT INTO ##TestTable (Errors)
VALUES( (@Error1),
        (@Error2),
        (@Error3),
        (@Error4),
        (@Error5),
        (@Error6),
        (@Error7)
      )

Advertisement

Answer

Your first parenthesis considered as first column, you need to separate them

INSERT INTO ##TestTable (Errors)
SELECT t.Errors
FROM (VALUES (@Error1), (@Error2), (@Error3), (@Error4), (@Error5), (@Error6), (@Error7)
     ) t(Errors);

You can also leave it :

VALUES  (@Error1),
        (@Error2),
        (@Error3),
        (@Error4),
        (@Error5),
        (@Error6),
        (@Error7)
User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement