Sie verwenden kein temp
Tabelle verwenden Sie eine variable
Tisch. Es gibt einen Unterschied.
Temp-Tabellen funktionieren mit Transaktionen, Variablentabellen nicht. Siehe http://blog.sqlauthority.com/2009/12/28/sql-server-difference-temp-table-and-table-variable-effect-of-transaction/
Wenn Sie Ihre Variablentabelle ändern @tab
in eine temporäre Tabelle von #tab
, würden Sie Ihr gewünschtes Verhalten erhalten.
Unterschiede zwischen temporären und variablen Tabellen:https://dba.stackexchange.com/questions/16385/whats-the-difference-between-a-temp-table-and-table-variable-in- sql-server/16386#16386
Die Links, die ich oben gepostet habe, gehen das detaillierter durch, als ich könnte.