Sql-Server
如果我終止循環 INSERT 查詢,它會回滾自循環開始以來的所有插入還是僅回滾最後一次迭代?
如果以下循環查詢在循環過程中被終止,是否所有插入或僅目前一個回滾?
DECLARE @LoopId INT = 1; WHILE (@LoopId < 100) BEGIN INSERT INTO Table2 SELECT Field1 FROM Table1 WHERE ForeignKeyField = @LoopId SET @LoopId = @LoopId + 1; END
如果以下循環查詢在循環過程中被終止,是否所有插入或僅目前一個回滾?
如果會話在循環之前已經啟動了事務,則所有語句都將回滾。但預設情況下,每條語句都在單獨的事務中執行,只有目前執行的 INSERT 會被回滾。