Arşivleme sürecinin bir parçası olarak kayıtları bir veritabanından diğerine taşıyorum. Hedef tabloya satırları kopyalamak ve sonra kaynak tablodan aynı satırları silmek istiyorum.
Benim sorum, satırları silmeden önce ilk eklemenin başarılı olup olmadığını kontrol etmenin en etkili yolu nedir.
Benim fikrim bu, ama daha iyi bir yol olduğunu hissediyorum:
@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 işleviyle birleştirmek daha iyi / mümkün mü? Teşekkür ederim!