Табличные переменные внутри цикла while не инициализируются каждый раз: SQL Server

Мне интересно, почему переменные таблицы внутри цикла 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

Это ошибка ??

5
задан RameshVel 20 September 2010 в 11:41
поделиться