Không có một cách tích hợp nào để có được số lượt chèn và cập nhật riêng biệt, không. SQL%ROWCOUNT
sẽ cho bạn biết số hàng được hợp nhất, như bạn có thể đã biết, nhưng không có giá trị tương đương để nhận các giá trị riêng biệt cho các lần chèn và cập nhật.
Bài viết này của Adrian Billington cho thấy một cách để lấy thông tin bằng cách bao gồm một lệnh gọi hàm trong hợp nhất, điều này có thể thêm một chút chi phí.
Có một thủ thuật tương tự, và có lẽ đơn giản hơn, từ MichaelS trên diễn đàn Oracle
, tất nhiên là tôi cũng không thể nhận được chút tín dụng nào. Tôi muốn tạo lại nó ở đây nhưng tôi không chắc liệu điều đó có được phép hay không, nhưng về cơ bản nó đang sử dụng sys_context
để duy trì số lượng, giống như cách mà giải pháp của Adrian đã làm với một biến gói. Tôi muốn sử dụng cái đó, vì nó sạch hơn và tôi nghĩ dễ theo dõi và bảo trì hơn.
Vẫn còn nguy hiểm gần với một câu trả lời chỉ có liên kết nhưng tôi cũng không muốn ăn cắp ý tưởng của người khác ...