USEFUL SITES :
Write for Us
Error Message:Msg 213, Level 16, State 1, Line 8Insert Error: Column name or number of supplied values does not match table definition.
Severity level:16.
Description:This error message appears when during an INSERT operation either the number of supplied column names or the number of supplied values does not match the table definition.
Consequences:The T-SQL statement can be parsed, but causes the error at runtime.
Resolution:Error of the Severity Level 16 are generated by the user and are corrigible by the user. The column names used in the INSERT statement must match those of the table definition and the supplied values must match in number and type the ones expected in the table definition.
Versions:All versions of SQL Server
Example(s):CREATE TABLE #t( c1 INT , c2 INT , c3 AS c1 * c2 )
INSERT INTO #t SELECT 1, 2, 3UNION ALL SELECT 2, 4, 6SELECT * FROM #t
DROP TABLE #t
Remarks:In the example above we create a table #t with three columns c1, c2, and c3. The column c3 is a computed column, whose value is calculated by the multiplication of c1 * c2. For computed column you cannot and should supply a value in an INSERT statement. Because we have supplied a value for this column, the error is raised.