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

Điều kiện kích hoạt trong tất cả các hàng

Một trình kích hoạt phát hành DML (bao gồm cả SELECT) chống lại cùng một bảng sở hữu trình kích hoạt làm tăng bóng ma của ORA-4091, ngoại lệ bảng đột biến. Oracle xử lý lỗi này vì nó mong đợi kết quả của một giao dịch là xác định và một yếu tố kích hoạt phát hành DML trên bảng của chính nó sẽ dẫn đến sự không chắc chắn trong quá trình tố tụng.

Bảng đột biến là một chỉ báo đáng tin cậy về thiết kế xấu, cụ thể là một mô hình dữ liệu xấu và đó dường như là trường hợp ở đây.

Nếu giá trị của một khoản tiền phạt phụ thuộc vào kết quả của một lần quan sát thì FINE có thể là một cột trên bảng QUAN SÁT. Tuy nhiên, các quy tắc kinh doanh của bạn chỉ ra rằng giá trị có thể phụ thuộc vào một số quan sát, nếu chúng nằm trong một khoảng thời gian nhất định. Trong trường hợp này, tiền phạt phải nằm trong một bảng riêng. Bạn sẽ cần một khóa ngoại giữa OBSERVACION và MULTA để cho biết những quan sát nào bị phạt cụ thể.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sách trắng về thống kê CBO

  2. Chế độ xem Oracle không thể cập nhật, lời khuyên về thay vì kích hoạt

  3. thành phần script thiếu tham chiếu oracle

  4. Làm cách nào để CHỌN nhiều giá trị từ 5 bảng?

  5. Oracle Streams Step by Step Replication Ví dụ