Constraint'ler varsayılan olarak her dml (data manipulation language --> update, insert, update) operasyonunda anında devreye girer ve constrainte aykırı bir durum var mı kontrol edilir. Aykırı bir durum varsa o sorgudan ileri gidemezsiniz. transaction'ınız yarım kalır ve rollback edilir.
Eğer constrainti deferrable tanımlarsanız, constraint kontrolü transaction sona erdiğinde , yani commit bastığınızda anda yapılır.
FK ile birbirine bağlı tablolarda tek transaction içinde kayıtlar değiştirirken, arada referans'ları gösteren constraint'lerinizi deferrable tanımlar iseniz birbirini refarans eden verileri kolaylıkla değiştirebilirsiniz.