 <p>In catch block,before rolling back the transaction,do the following...</p> <pre><code> DECLARE @TABLE AS TABLE (COL1 INT, COL2 INT ... ) INSERT INTO @TABLE SELECT * FROM #TEMP TABLE ROLLBACK TRANSCATION INSERT INTO DLWMS_ALLOCATIONMISSINGLOG select * from @table </code></pre> <p><strong>References:</strong><br> <a href="http://sqlmag.com/t-sql/table-variable-tip" rel="nofollow">http://sqlmag.com/t-sql/table-variable-tip</a></p>