Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

डेटाबेस तालिका को कैसे बाधित करें ताकि कॉलम में केवल एक पंक्ति का कोई विशेष मान हो?

फ़ंक्शन-आधारित अनुक्रमणिका का उपयोग करें:

create unique index only_one_yes on mytable
(case when col='YES' then 'YES' end);

Oracle केवल उन कुंजियों को अनुक्रमित करता है जो पूरी तरह से अशक्त नहीं हैं, और यहाँ CASE अभिव्यक्ति यह सुनिश्चित करती है कि सभी 'NO' मानों को नल में बदल दिया गया है और इसलिए अनुक्रमित नहीं किया गया है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL या Oracle में महीने के नाम से ऑर्डर कैसे करें

  2. सामग्री के बिल के लिए एकल SQL क्वेरी का उपयोग करके सभी स्तरों का डेटा कैसे प्राप्त करें

  3. ऑरैकल में एक स्ट्रिंग के पहले तीन वर्णों को कैसे बदलें?

  4. ORA-01401:कॉलम CHAR के लिए डाला गया मान बहुत बड़ा है

  5. क्या पीएल/एसक्यूएल के पास जावा के बराबर स्ट्रिंगटोकनाइज़र है?