Nie używasz temp
tabela, używasz variable
stół. Jest różnica.
Tabele tymczasowe działają z transakcjami, tabele zmiennych nie. Zobacz http://blog.sqlauthority.com/2009/12/28/sql-server-difference-temp-table-and-table-variable-effect-of-transaction/
Gdybyś miał zmienić tabelę zmiennych @tab
do tabeli tymczasowej #tab
, uzyskasz pożądane zachowanie.
Różnice między tabelami tymczasowymi i zmiennymi:https://dba.stackexchange.com/questions/16385/co-charakteryzuje-różnice-pomiędzy-tabeli-temp-a-tabeli-zmiennej-w- serwer sql/16386#16386
Linki, które zamieściłem powyżej, przechodzą przez to z większą ilością szczegółów, niż mógłbym.