यदि आप वास्तव में सुनिश्चित हैं कि आप तालिका को छोड़ना चाहते हैं, भले ही इसे विदेशी कुंजियों में संदर्भित किया गया हो, तो आप इसे इस तरह से बाध्य कर सकते हैं:
drop table state cascade constraints;
यह सिंटैक्स Oracle SQL Reference ।
ध्यान दें कि यह किसी भी विदेशी कुंजी संबंध को छोड़ देता है। इसलिए तालिका (और इसकी प्राथमिक कुंजी) को फिर से बनाने के बाद आपको उन्हें फिर से बनाना होगा। आम तौर पर यह ठीक है क्योंकि सबसे आम उपयोग का मामला विकास या सीआई वातावरण में स्कीमा को मिटाना और फिर से बनाना है।
हम cascade constraints
का उपयोग कर सकते हैं हमारी बिल्ड स्क्रिप्ट को बनाए रखना आसान बनाने के लिए। दो विकल्प हैं:
- तालिकाओं को छोड़ने से पहले स्पष्ट रूप से विदेशी कुंजी बाधाओं को छोड़ दें, या तो स्क्रिप्ट के साथ या गतिशील SQL के साथ।
- DROPTABLE स्टेटमेंट्स को ऑर्डर करें ताकि डिपेंडेंट टेबल्स को पहले उनकी अजीब विदेशी कुंजियों के साथ ज़ैप किया जाए। मुट्ठी भर तालिकाओं के लिए काफी आसान, बड़े स्कीमा के साथ अधिक दर्दनाक।