ผมอ่านบทความนี้เกี่ยวกับ SQL คำหลักDEFERRABLE
ในฐานข้อมูลระบบ - หนังสือทั้งหมด
หลัง[ไม่ DEFERRABLE]เป็นค่าเริ่มต้นและหมายความว่าทุกครั้งที่มีการปรับเปลี่ยนฐานข้อมูลคำสั่งจะถูกดำเนินการข้อ จำกัด มีการตรวจสอบทันทีหลังจากนั้นหากการปรับเปลี่ยนอาจละเมิดข้อ จำกัด ต่างประเทศที่สำคัญ
อย่างไรก็ตามหากเราประกาศข้อ จำกัด ว่าDEFERRABLEเรามีตัวเลือกให้รอจนกว่าธุรกรรมจะเสร็จสมบูรณ์ก่อนที่จะตรวจสอบข้อ จำกัด
เราปฏิบัติตามคำหลักDEFERRABLEโดยขั้นแรกรอการตัดบัญชีหรือขั้นแรกทันที ในกรณีเดิมการตรวจสอบจะถูกเลื่อนออกไปก่อนที่จะมีการทำธุรกรรมแต่ละครั้ง ในกรณีหลังนี้จะมีการตรวจสอบทันทีหลังจากแต่ละคำสั่ง
เป็นวิธีการที่NOT DEFERRABLE
แตกต่างจากDEFERRABLE INITIALLY IMMEDIATE
? ในทั้งสองกรณีดูเหมือนว่าข้อ จำกัด ใด ๆ จะถูกตรวจสอบหลังจากแต่ละคำสั่ง
DEFERRABLE
ระบุความตั้งใจของนักออกแบบว่าการเลื่อนข้อ จำกัด เป็นการกระทำที่คุ้มค่าหรือจำเป็น นี่ไม่ใช่กรณีสำหรับข้อ จำกัด ฐานข้อมูลส่วนใหญ่และการติดฉลากทั้งหมดเนื่องจากDEFERRABLE
จะสูญเสียความแตกต่างที่เป็นประโยชน์นี้