select ... as ...
. का उपयोग करना तालिका बनाने के लिए कभी नहीं प्रतियां बाधाओं। यदि आप चाहते हैं कि नई तालिका मूल तालिकाओं से बाधाओं को इनहेरिट करे, तो आपको मैन्युअल रूप से नई बाधाएं बनानी होंगी।
जैसा कि @Davek बताते हैं, not null
बाधाओं को एक ही टेबल से कॉपी किया जाएगा select ... as ...
. मुझे लगता है कि ऐसा इसलिए है क्योंकि वे दोनों स्तंभ विशेषताएँ और बाधाएँ हैं। हालाँकि, एक बार कॉलम में एक से अधिक स्रोत होने के बाद, यह उचित है कि Oracle उस बाधा को लागू करने का प्रयास नहीं करेगा।
अनुवर्ती प्रश्न के उत्तर में "क्या tableC
देना संभव होगा? tableA
. से समान बाधाएं या tableB
, सीटीए के बाद?":
बेशक यह संभव है, लेकिन ऐसा करने के लिए एक भी कमांड नहीं है। आप एक ऐसी प्रक्रिया लिख सकते हैं जो बाधाओं की प्रतिलिपि बनाने के लिए गतिशील SQL का उपयोग करती हो। हालांकि, जब तक आप इस व्यवहार को स्वचालित नहीं करना चाहते, तब तक आमतौर पर आईडीई का उपयोग करके डीडीएल को निकालना और तालिका का नाम बदलना आसान होगा।