我正在使用SQL Server。我有一个执行以下操作的存储过程:
INSERT INTO Tbl1
SELECT col1, col2, col3
FROM Tbl2
我的问题是:这需要提交事务吗?从网上看似乎并非如此。我将其作为每晚批处理过程的一部分,因此要确保其行为正常。在这种情况下,我应该尝试一下吗?
答案 0 :(得分:2)
如果仅具有此语句,则没有关系,因为它隐式为transaction
。如果发生故障,它将不会插入任何行,但是在其他情况下,它将提交更改。您可能会遇到这样一种情况,即在您的过程开始时删除行,然后将行插入表中。在这种情况下,最好将其包装在一个事务中。感谢delete
成功但insert
失败时,您的表中仍然有数据。