Я переміщую записи з однієї бази даних в іншу, як частину процесу архівування. Я хочу скопіювати рядки до таблиці призначення, а потім видалити ті самі рядки з вихідної таблиці.
Моє запитання, який найефективніший спосіб зробити перевірку, якщо перша вставка була успішною перед видаленням рядків.
Моя ідея така, але я вважаю, що є кращий спосіб:
@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? Дякую!