क्या कोई स्पष्ट कर सकता है कि अद्वितीय बाधा (ओरेकल) के बिना अद्वितीय इंडेक्स रखने का क्या उद्देश्य है? उदाहरण के लिए,ओरेकल अद्वितीय बाधा और अद्वितीय सूचकांक
create table test22(id int, id1 int, tmp varchar(20));
create unique index idx_test22 on test22(id);
insert into test22(id, id1, tmp) values (1, 2, 'aaa'); // ok
insert into test22(id, id1, tmp) values (1, 2, 'aaa'); // fails, ORA-00001: unique
// constraint (TEST.IDX_TEST22) violated
अब तक यह लग रहा है की कोई समस्या मौजूद है। लेकिन
create table test33(id int not null primary key,
test22_id int not null,
foreign key(test22_id) references test22(id));
भी "ORA-02270: no matching unique or primary key for this column-list"
के साथ विफल रहता है। मैं इस व्यवहार से पूरी तरह उलझन में हूं। क्या कोई बाधा है या नहीं?
ऐसे कई लेख हैं जो बताते हैं कि अद्वितीय सूचकांक के बिना एक अद्वितीय बाधा क्यों हो सकती है; यह स्पष्ट है और सही समझ में आता है। हालांकि, मैं बिना किसी बाधा के अद्वितीय सूचकांक के कारण को समझता हूं।
आपके उत्तर के लिए धन्यवाद, अब यह स्पष्ट हो रहा है। मुझे वास्तव में पसंद नहीं है, दोनों मामलों के लिए बाधा और अद्वितीय सूचकांक के साथ एक ही त्रुटि कोड ('ORA-00001') है। – a1ex07
उत्कृष्ट, "अंतिम कहने" के लिए धन्यवाद कि क्या आप एक अद्वितीय एफबीआई पर एक अद्वितीय बाधा बना सकते हैं। – orbfish
धन्यवाद - यह पाया गया है कि दोनों के बीच अंतर का यह एकमात्र स्पष्ट स्पष्टीकरण है। मैंने कुछ उल्लेख देखा है कि एक अद्वितीय बाधा घोषित करने से ऑप्टिमाइज़र को अद्वितीय सूचकांक की तुलना में अधिक जानकारी मिलती है ...क्या यह सच है, और क्या इसका मतलब यह है कि एक अनूठी बाधा बिना किसी बाधा के अद्वितीय इंडेक्स पर कुछ प्रदर्शन लाभ प्रदान कर सकती है? – Mike