Melakukan ini agar terdengar dan benar bahkan ketika beberapa sesi melakukan pembaruan bukanlah hal yang mudah. Anda akan mendapatkan masalah jika mencoba ini dengan pemicu, dan batasan deklaratif Oracle tidak cukup kuat untuk mengungkapkan hal ini.
Hal ini dapat dilakukan sebagai berikut:-
- Buat log tampilan yang terwujud pada tabel induk dan anak
- Buat tampilan gabungan terwujud yang menggabungkannya dan menghitung jumlah anak yang dikelompokkan oleh induknya. Ini harus REFRESH FAST ON COMMIT
- Berikan batasan pada tampilan gabungan yang terwujud bahwa jumlah catatan anak harus sama dengan "n" (konstanta basis data Anda)
Anda kemudian dapat melakukan serangkaian pernyataan insert/update/delete. Saat Anda melakukan, tampilan yang terwujud akan menyegarkan dan jika kondisi tidak terpenuhi, Anda akan mendapatkan kesalahan pelanggaran kendala pada saat itu.
Bonus sedikit tipuan adalah hanya memasukkan baris yang gagal dalam batasan ke tampilan terwujud (HAVING count(ChildId) <> 5) sehingga Anda tidak membuang ruang penyimpanan apa pun.