Saya membaca ini tentang kata kunci SQL DEFERRABLEdalam Sistem Database - Buku Lengkap .
Yang terakhir [TIDAK DAPAT DITERBITKAN] adalah default, dan berarti bahwa setiap kali pernyataan modifikasi database dijalankan, batasan diperiksa segera setelahnya, jika modifikasi dapat melanggar batasan kunci asing.
Namun, jika kita mendeklarasikan sebuah batasan sebagai DEFERRABLE , maka kita memiliki pilihan untuk menunggu sampai transaksi selesai sebelum memeriksa batasan tersebut.
Kami mengikuti kata kunci deferrable oleh salah AWALNYA DITANGGUHKAN atau AWALNYA SEGERA . Dalam kasus sebelumnya, pemeriksaan akan ditangguhkan sebelum setiap transaksi dilakukan. Dalam kasus terakhir, pemeriksaan akan dilakukan segera setelah setiap pernyataan.
Apa NOT DEFERRABLEbedanya dengan DEFERRABLE INITIALLY IMMEDIATE? Dalam kedua kasus, tampaknya, setiap kendala diperiksa setelah setiap pernyataan individu.

DEFERRABLEmenyatakan niat desainer bahwa menunda batasan adalah tindakan yang berharga atau perlu. Ini tidak terjadi untuk sebagian besar kendala database dan pelabelan semua karenaDEFERRABLEakan kehilangan perbedaan yang berguna ini.