एक अद्वितीय बाधा लागू करता है, ठीक है, विशिष्टता। यह प्राथमिक कुंजी बाधा<के विपरीत, नल की अनुमति देगा। /ए> ।
आपकी त्रुटि का मतलब है कि आप डुप्लिकेट डेटा डाल रहे हैं जब डेटाबेस को स्पष्ट रूप से प्रतिबंधित करने के लिए कॉन्फ़िगर किया गया है।
आप निम्न क्वेरी को सभी_बाधाएं
. लिंक कॉलम को डीकोड करता है CONSTRAINT_TYPE
, उदाहरण के लिए P
प्राथमिक कुंजी है और U
एक अद्वितीय कुंजी।
select *
from all_constraints uc
where uc.table_name = 'MY_TABLE'
and owner = 'DBSCHEMA'
यह पता लगाने के लिए कि कौन से कॉलम बाधा में हैं <का उपयोग करें कोड>all_cons_columns इसके बजाय, या दोनों को एक क्वेरी में संयोजित करना:
select uc.*, ucc.column_name, ucc.position
from all_constraints uc
join all_cons_columns ucc
on uc.owner = ucc.owner
and uc.table_name = ucc.table_name
and uc.constraint_name = ucc.constraint_name
where uc.table_name = 'MY_TABLE'
and uc.owner = 'DBSCHEMA'
किसी भी क्वेरी के लिए आप अतिरिक्त शर्त जोड़ सकते हैं और Constraint_name ='IDX_CO_DETAILS'
आपकी समस्या का कारण बनने वाली विशिष्ट बाधा के विवरण का पता लगाने के लिए।
आपकी टिप्पणी कुछ कारणों से थोड़ी आश्चर्यजनक है। यहां तक कि एक सिस्टम ने बाधा पैदा की, उदाहरण के लिए एक जिसे इन-लाइन परिभाषित किया गया था जब तालिका को बिना किसी नाम के बनाया गया था, उसे दिखाना चाहिए। साथ ही, बाधा नाम IDX...
तात्पर्य है कि यह एक अनुक्रमणिका है।
यदि आप निम्न क्वेरी चलाते हैं तो यह आपको बताएगा कि क्या ऑब्जेक्ट डेटाबेस में मौजूद है:
select *
from all_objects
where object_name = 'IDX_CO_DETAILS'
मुझे उम्मीद है कि OBJECT_TYPE
इस क्वेरी द्वारा लौटाया गया 'INDEX'
. है ।
इसके बाद निम्न क्वेरी प्रत्येक अनुक्रमणिका को उस नाम, अनुक्रमणिका के प्रकार, जिस तालिका से संबद्ध है और उस तालिका के स्वामी के साथ लौटाएगी।
select *
from all_indexes
where index_name = 'IDX_CO_DETAILS'
आपकी त्रुटि को देखते हुए मैं आगे यह उम्मीद करूंगा कि कॉलम UNIQUNESS
इस क्वेरी द्वारा लौटाया गया 'UNIQUE'
. है ।
इससे आपको ऑब्जेक्ट को ट्रैक करने में मदद मिलेगी।
आप सिस्टम पैकेज dbms_metadata का भी इस्तेमाल कर सकते हैं
वस्तु के डीडीएल को ट्रैक करने के लिए; सावधान रहें यह एक क्लॉब लौटाता है।
select dbms_metadata.get_ddl('INDEX','IDX_CO_DETAILS', schema => 'DBSCHEMA')
from dual
पैरामीटर स्कीमा
वैकल्पिक है।