मैंने इसे डेटाबेस सिस्टमDEFERRABLE
में SQL कीवर्ड के बारे में पढ़ा - पूरी किताब ।
बाद वाला [NOT DEFERRABLE] डिफ़ॉल्ट है, और इसका मतलब है कि हर बार जब डेटाबेस संशोधन विवरण निष्पादित किया जाता है, तो बाधा की तुरंत जांच की जाती है, यदि संशोधन विदेशी-कुंजी बाधा का उल्लंघन कर सकता है।
हालांकि, अगर हम बाधा की घोषणा करते हैं , तो हमारे पास यह विकल्प होता है कि जब तक कि बाधा की जाँच करने से पहले कोई लेनदेन पूरा न हो जाए , तब तक प्रतीक्षा करें।
हम निश्चित रूप से निष्क्रिय या विशेष रूप से IMMEDIATE द्वारा शब्द DEFERRABLE का अनुसरण करते हैं । पूर्व मामले में, प्रत्येक लेनदेन के शुरू होने से ठीक पहले चेकिंग को स्थगित कर दिया जाएगा। बाद के मामले में, प्रत्येक विवरण के तुरंत बाद चेक बनाया जाएगा।
कैसे NOT DEFERRABLE
अलग है DEFERRABLE INITIALLY IMMEDIATE
? दोनों मामलों में, ऐसा लगता है, प्रत्येक व्यक्ति के बयान के बाद किसी भी बाधाओं की जाँच की जाती है।
DEFERRABLE
डिजाइनर का इरादा बताता है कि बाधा को दूर करना एक सार्थक या आवश्यक कार्रवाई है। यह डेटाबेस अवरोधों के विशाल बहुमत के लिए मामला नहीं है और सभी लेबलिंग के रूप मेंDEFERRABLE
इस उपयोगी अंतर को खो देंगे।