Ich verschiebe Datensätze als Teil des Archivierungsprozesses von einer Datenbank in eine andere. Ich möchte die Zeilen in die Zieltabelle kopieren und dann dieselben Zeilen aus der Quelltabelle löschen.
Meine Frage ist, was ist der effizienteste Weg, um zu überprüfen, ob die erste Einfügung erfolgreich war, bevor die Zeilen gelöscht wurden.
Meine Idee ist dies, aber ich denke, es gibt einen besseren Weg:
@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)
Ist es besser / möglich, es mit der RAISERROR-Funktion zu kombinieren? Danke!