Tôi đang chuyển hồ sơ từ cơ sở dữ liệu này sang cơ sở dữ liệu khác, như là một phần của quá trình lưu trữ. Tôi muốn sao chép các hàng vào bảng đích và sau đó xóa các hàng tương tự khỏi bảng nguồn.
Câu hỏi của tôi là, cách hiệu quả nhất để kiểm tra xem lần chèn đầu tiên có thành công hay không trước khi xóa các hàng.
Ý tưởng của tôi là thế này, nhưng tôi cảm thấy có một cách tốt hơn:
@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)
Có tốt hơn / có thể kết hợp nó với chức năng RAISERROR không? Cảm ơn bạn!