我想知道将源表中的多行插入目标表的最佳做法是什么。 两个源表和目标表都在生产数据库上,这意味着在表上每周7天,每天24小时执行删除或更新事务。目标表还有一个auto_incremented列,这意味着如果执行Rollback事务,则Rollback不会递减自动递增列 - 查找详细信息here
BEGIN TRY
BEGIN TRANSACTION
Insert (col1,col2,col3) into destinationTable
select col1,col2,col3 from sourceTable
COMMIT TRANSACTION
PRINT 'TRANSACTION COMMITTED'
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
PRINT 'TRANSACTION ROLLED BACK'
END CATCH