Я перемещаю записи из одной базы данных в другую, как часть процесса архивирования. Я хочу скопировать строки в таблицу назначения, а затем удалить те же строки из исходной таблицы.
Мой вопрос заключается в том, каков наиболее эффективный способ проверки успешности первой вставки перед удалением строк.
Моя идея такова, но я чувствую, что есть лучший способ:
@num_records=select count(ID) from Source_Table where (criteria for eligible rows)
insert * into Destination_Table where (criteria for eligible rows)
if ((select count(ID) from Destination_Table where (criteria) )=@numrecords)
delete * from Source_Table where (criteria)
Лучше / можно ли сочетать это с функцией RAISERROR? Спасибо!