Мне интересно, почему переменные таблицы внутри цикла while не ведут себя как другие переменные. Табличные переменные создаются только один раз и будут использоваться в течение всего цикла. но другие переменные инициализируются каждый раз, когда цикл увеличивается.
Проверьте код ниже для получения дополнительной информации
declare @tt int
set @tt =10
while @tt>0
begin
declare @temptable table(id int identity(1,1),sid bigint)
insert into @temptable
select @tt union all
select @tt + 1
select * from @temptable
--delete from @temptable
set @tt=@tt-1
end
это ошибка ??