Если я запустил сценарий ниже, оператор печати напечатает 10
declare @i int = 0
select @i = @i + 2
from sys.tables
print @i
Но если я хочу использовать ту же концепцию внутри CTE, это не сработает.
Я пытаюсь запустить ниже T- SQL, но я получаю ошибку
declare @i int = 0
;with ct (x) as
(
select @i = @i + 2
from sys.tables
)
select *
from ct
print @i
Я получаю эту ошибку
Msg 102, Level 15, State 1, Line 4
Неправильный синтаксис рядом с '='.
Я намерен добавить переменную @i
без while l oop.