Vous n'utilisez pas de temp
table, vous utilisez une variable
table. Il y a une différence.
Les tables temporaires fonctionnent avec les transactions, pas les tables de variables. Voir http://blog.sqlauthority.com/2009/12/28/sql-server-difference-temp-table-and-table-variable-effect-of-transaction/
Si vous deviez changer votre table de variables @tab
à une table temporaire de #tab
, vous obtiendrez le comportement souhaité.
Différences entre les tables temporaires et variables :https://dba.stackexchange.com/questions/16385/whats-the-difference-between-a-temp-table-and-table-variable-in- sql-server/16386#16386
Les liens que j'ai publiés ci-dessus passent en revue cela avec plus de détails que je ne le pourrais.