Трябва да CAST всички числа към nvarchar в конкатенацията.
Няма имплицитно преобразуване в стил VBA в низ. В SQL Server приоритетът на типа данни означава, че ints са по-високи от nvarchar:така че целият низ се опитва да бъде CAST към int.
SET @SQL = 'SELECT ' + @GName + ' AS GrName ,' + @BR
+ CAST(@T_ID AS nvarchar(10)) + ' AS To_ID ,' ...
Редактиране:Will A има добра гледна точка:следете за NULL!