Sql server 将插入的行保留在临时表中-回滚后

Sql server 将插入的行保留在临时表中-回滚后,sql-server,tsql,transactions,rollback,Sql Server,Tsql,Transactions,Rollback,我想在事务中的硬表上运行一些更新,并根据新更新的硬表将行插入临时表,但我不想在事务回滚后丢失临时表……这可能吗 我觉得这里有一个显而易见的答案,我只是没有看到。谢谢劳伦斯 您可以使用表变量,它们不参与回滚--劳伦斯 这是我用来证明这一点的测试: DECLARE @test TABLE (Test INT) BEGIN TRAN INSERT INTO @test SELECT 1 ROLLBACK SELECT * FROM @test 工作得很好。谢谢现在来扩展一下这个如果它在一个事

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

我觉得这里有一个显而易见的答案,我只是没有看到。

谢谢劳伦斯


您可以使用表变量,它们不参与回滚--劳伦斯

这是我用来证明这一点的测试:

DECLARE @test TABLE (Test INT)
BEGIN TRAN
    INSERT INTO @test SELECT 1
ROLLBACK
SELECT * FROM @test

工作得很好。谢谢现在来扩展一下这个

如果它在一个事务中,它会不会以任何一种方式回滚插入?您可以使用一个表变量,它们不参与回滚。完美!非常感谢。这正是我需要的。