使用事务处理的SQL Server INSERT INTO

时间:2019-05-28 17:26:39

标签: sql-server

我正在使用SQL Server。我有一个执行以下操作的存储过程:

INSERT INTO Tbl1
    SELECT col1, col2, col3 
    FROM Tbl2

我的问题是:这需要提交事务吗?从网上看似乎并非如此。我将其作为每晚批处理过程的一部分,因此要确保其行为正常。在这种情况下,我应该尝试一下吗?

1 个答案:

答案 0 :(得分:2)

如果仅具有此语句,则没有关系,因为它隐式为transaction。如果发生故障,它将不会插入任何行,但是在其他情况下,它将提交更改。您可能会遇到这样一种情况,即在您的过程开始时删除行,然后将行插入表中。在这种情况下,最好将其包装在一个事务中。感谢delete成功但insert失败时,您的表中仍然有数据。