Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Trình kích hoạt Oracle - vấn đề với các bảng thay đổi

Như bạn đã nhận thấy, sẽ rất khó để trả lời các yêu cầu kinh doanh của bạn với các trình kích hoạt. Lý do là Oracle có thể cập nhật / chèn các bảng có nhiều hơn một luồng cùng một lúc cho một truy vấn duy nhất (DML song song). Điều này ngụ ý rằng phiên của bạn không thể truy vấn bảng mà nó cập nhật trong khi cập nhật diễn ra .

Nếu bạn thực sự muốn làm điều này với trình kích hoạt, bạn sẽ phải làm theo tiêu đề loại logic được Tom Kyte thể hiện trong bài viết này . Như bạn có thể thấy, nó không phải là một cái gì đó đơn giản.

Có một phương pháp khác, đơn giản hơn, thanh lịch hơn, dễ bảo trì hơn:sử dụng các thủ tục. Thu hồi quyền cập nhật / chèn đối với (các) người dùng ứng dụng và viết một bộ quy trình cho phép ứng dụng cập nhật các cột trạng thái.

Các thủ tục này sẽ giữ một khóa trên hàng mẹ (để ngăn nhiều phiên sửa đổi cùng một nhóm hàng) và sẽ áp dụng logic nghiệp vụ của bạn theo cách hiệu quả, dễ đọc và dễ bảo trì.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. truy vấn sql oracle phân bổ thanh toán

  2. oracle sql select cú pháp với mệnh đề GROUP BY và HAVING

  3. Làm cách nào để bạn cài đặt perl DBD ::Oracle trên OSX Snow Leopard 10.6

  4. DBMS OUTPUT PUT không in bất kỳ thứ gì

  5. Oracle PL / SQL Sequence không tăng lên như mong đợi với các hàm tạo đối tượng