我正在运行Select查询并从中获取大量行(有时超过500行),然后将值逐个插入另一个表中。现在我想知道哪个插入步骤失败,以便我可以再次从该失败步骤开始插入,以便表格不会以重复值更新。
答案 0 :(得分:0)
语法可能因系统而异,但结构和流程仍然存在 当数据库部署到实时系统时,他准备了两个SQL脚本。
1.更改具有以下结构的脚本:
PRINT 'Doing X'
SCRIPT X
....
GO
PRINT 'DOING Y'
SCRIPT Y
....
GO
2.Rollback脚本,用于恢复脚本部分所做的所有更改。 恢复脚本以相反的顺序执行。
REVERT SCRIPT Y
REVERT SCRIPT X
当更改脚本失败时,您将知道打印出的最后一条消息导致哪个部分失败,然后您将获取在失败部分之后运行的所有回滚脚本部分并还原更改。