Ваша проблема в том, что вы создаете таблицу #tmp
с NewForm
как char(1)
SELECT RunlistIx AS Id, Form, TransitDays, Quantity, '0' AS NewForm
FROM Runlist
Поскольку вам требуется целочисленный столбец, он должен быть просто 0 as NewForm
без одинарных кавычек,Исправленный запрос выглядит следующим образом.
SELECT RunlistIx AS Id, Form, TransitDays, Quantity, 0 AS NewForm
FROM Runlist
Кроме того, здесь нет необходимости использовать курсор. Это можно просто сделать с помощью набора запросов. А для @counter
просто используйте row_number()
для генерации работающего runber
SELECT RunlistIx AS Id, Form, TransitDays, Quantity,
row_number() over (order by TransitDays desc) AS NewForm
into #tmp
FROM Runlist
WHERE (UserId = N'095a6c66-238e')