J.D*_*.D. 1 sql-server insert transaction rollback sql-server-2016
如果以下循环查询在循环过程中被终止,是所有插入还是仅当前一个回滚?
DECLARE @LoopId INT = 1;
WHILE (@LoopId < 100)
BEGIN
INSERT INTO Table2
SELECT Field1
FROM Table1
WHERE ForeignKeyField = @LoopId
SET @LoopId = @LoopId + 1;
END
Run Code Online (Sandbox Code Playgroud)
如果以下循环查询在循环过程中被终止,是所有插入还是仅当前一个回滚?
如果会话在循环之前已经启动了一个事务,那么所有的语句都将被回滚。但默认情况下,每个语句都在单独的事务中运行,并且只有当前运行的 INSERT 会被回滚。
| 归档时间: |
|
| 查看次数: |
279 次 |
| 最近记录: |