保持插入行在Temp表中 - 回滚后

cha*_*win 1 t-sql sql-server transactions rollback

我想在事务中的硬表上运行一些更新,并根据新更新的硬表将行插入临时表,但我不希望在事务回滚后丢失临时表...是这可能吗?

我觉得这里有一个明显的答案,我只是没有看到它.

cha*_*win 5

谢谢劳伦斯!!

您可以使用表变量,它们不参与回滚.--Laurence

这是我的证明:

DECLARE @test TABLE (Test INT)
BEGIN TRAN
    INSERT INTO @test SELECT 1
ROLLBACK
SELECT * FROM @test
Run Code Online (Sandbox Code Playgroud)

工作完美.谢谢!现在来扩展这个