Oracle
 sql >> Baza danych >  >> RDS >> Oracle

używanie wyzwalaczy zapewniających spójność danych

Możliwe jest wymuszenie tego przez połączenie zmaterializowanego widoku (MV) i ograniczenia na MV, jak opisałem tutaj na moim blogu .

Pomysł polegałby na stworzeniu MV, która zawierałaby tylko wyjątki od reguły, a następnie posiadaniu ograniczenia, które zawsze zawodzi, gdy wiersz zostanie wprowadzony do MV. Coś takiego:

create materialized view check_mv
refresh complete on commit as
select 1 dummy
from catalogue c1, catalogue c2 
where c1.next_id = c2.previous_id and c1.parent_id != c2.parent_id

alter table check_mv
add constraint check_mv_chk
check (1=0) deferrable;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Łączenie połączeń Oracle w .Net

  2. Oracle Apex 5 — pasek stopki podobny do tego w Kreatorze aplikacji

  3. Hash join w Oracle z przykładem

  4. Wybierz z tabeli, jeśli rekord został znaleziony w innej tabeli

  5. Sformatuj liczbę jako procent w Oracle