Saya memindahkan catatan dari satu database ke yang lain, sebagai bagian dari proses pengarsipan. Saya ingin menyalin baris ke tabel tujuan dan kemudian menghapus baris yang sama dari tabel sumber.
Pertanyaan saya adalah, apa cara paling efisien untuk melakukan pemeriksaan jika insert pertama berhasil sebelum menghapus baris.
Gagasan saya adalah ini, tetapi saya merasa ada cara yang lebih baik:
@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)
Apakah lebih baik / mungkin untuk menggabungkannya dengan fungsi RAISERROR? Terima kasih!