2012-07-10 18 views

cevap

10

DEFERRABLE

Bu sınırlama ertelenmiş olup olmadığını kontrol eder ertelenebilir değildir. Ertelenmeyen bir kısıtlama, her komutun hemen ardından kontrol edilir. Ertelenebilecek kısıtların kontrol edilmesi, işlemin sonuna kadar ertelenebilir (SET CONSTRAINTS komutu kullanılarak). DEFERRABLE DEĞİLDİR. Şu anda sadece yabancı anahtar kısıtlamaları kabul edilmektedir. Diğer tüm kısıtlama türleri ertelenmez.

[Kaynak] Kısaca http://www.postgresql.org/docs/8.1/static/sql-createtable.html

, iki tablo siklik FK bağımlılığı varsayalım. Her iki tabloda da referans verisi bulunmayan ve FK kısıtlaması ertelenmeyen veriler için insert gerçekleştirdiğimizde, FK kısıtlaması ihlal edildiğinden DB hatası atar. Ertelenirse, doğrulama işlemi gerçekleştirilirken gerçekleştirilir.

+0

Düşündüğüm budur. Temizlediğin için teşekkürler. – Gregg