शायद INDEX
PRIMARY KEY CONSTRAINT
से जुड़ा हुआ है, और इसे PK_B
भी नाम दिया गया है।
आप के रूप में यह देख सकते हैं:
SELECT * FROM USER_INDEXES WHERE TABLE_NAME='<table_name>';
अगर यह सच है, तो कार्य करें:
ALTER INDEX "PK_B" RENAME TO "PK_XYZ";
अद्यतन: ALTER INDEX
बयान के बारे में, कुछ महत्वपूर्ण बिंदुओं के रूप में टिप्पणी में जस्टिन ने उल्लेख किया
ओरेकल स्पष्ट रूप सेका समर्थन करने के लिए UNIQUE
अनुक्रमणिका बनाता हैचूंकि, इंडेक्स प्राथमिक कुंजी का नाम है, और अब प्राथमिक कुंजी को संशोधित किया जा रहा है, यह बेहतर पुरानी प्राथमिक कुंजी की परिभाषा के अनुसार सूचकांक को फिर से बनाने और फिर से बनाने के लिए है ।
मेरा निष्कर्ष:
- प्राथमिक कुंजी बाधा एक अद्वितीय सूचकांक के माध्यम से लागू की जाती है।
- यदि ओरेकल को पहले से ही एक इंडेक्स - अद्वितीय या गैर-अनूठा मिल जाता है - यह प्राथमिक कुंजी के लिए का उपयोग करता है।
- यदि सूचकांक प्रारंभ में गैर-अद्वितीय के रूप में बनाया गया था, तो यह गैर-अद्वितीय के रूप में दिखाएगा, हालांकि यह वास्तव में एक अद्वितीय अनुक्रमणिका होगी।
एक अच्छा प्रदर्शन है और काफी अन्य पहलुओं पर भी विस्तृत, Arup द्वारा: Primary Keys Guarantee Uniqueness? Think Again.
स्रोत
2014-09-23 11:12:37
, हालांकि यह ध्यान रखें अगर वहाँ प्राथमिक कुंजी बाधा, संभावना का तात्पर्य है कि कि सूचकांक अद्वितीय है और पुराने प्राथमिक कुंजी बाधा का समर्थन करने के लिए बनाया गया था के रूप में एक ही नाम के साथ एक सूचकांक है। चूंकि प्राथमिक कुंजी बाधा की परिभाषा बदल दी जा रही है, इसलिए एक अच्छा मौका है कि सूचकांक को छोड़ दिया जाना चाहिए या इसे गैर-अद्वितीय के रूप में फिर से बनाया जाना चाहिए (पुरानी प्राथमिक कुंजी क्या थी) के आधार पर। –
पूरी तरह से जस्टिन से सहमत हो गया। यह मुझे *** प्राथमिक प्राथमिक गारंटी गारंटी विशिष्टता पर कई चर्चाओं की याद दिलाता है? *** इसलिए, समान नाम वाली अनुक्रमणिका को विशिष्टता बनाए रखने और प्राथमिक कुंजी बाधा का समर्थन करने के लिए पूरी तरह से बनाया गया था। मैं इन बिंदुओं को जोड़ने के लिए अपना जवाब संपादित करूंगा। –