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

ORA-00907 CHECK बाधा उत्पन्न करने का प्रयास करते समय

त्रुटि संदेश है

ORA-00907: missing right parenthesis

यह लगभग हमेशा एक लापता ब्रैकेट के बजाय एक सिंटैक्स त्रुटि की ओर इशारा करता है। इस मामले में पार्सर आपकी कॉलम परिभाषा में तत्वों के क्रम पर विरोध कर रहा है। विशेष रूप से, DEFAULT क्लॉज को CONSTRAINT क्लॉज से पहले आना चाहिए, जिसमें NULL / NOT NULL डिक्लेरेशन शामिल है। तो कोशिश करें

USR_TITRE CHAR(6) DEFAULT 'M.'CHECK (USR_TITRE IN ('M.' , 'Mlle.','Mme.' )) NULL

संयोग से, आप उस बाधा के साथ किसी समस्या के लिए जा रहे हैं। एक CHAR डेटाटाइप हमेशा घोषित लंबाई तक गद्देदार होता है। इस प्रकार यदि आप 'एम' दर्ज करते हैं। कॉलम में यह 'M' तक पहुंच जाएगा। ', कौन सा मान बाधा को अपवाद को फेंकने का कारण बनता है। मेरा सुझाव है कि आप इसके बजाय VARCHAR2(6) का उपयोग करें।

CHAR घोषणाएं लगभग हमेशा एक गलती होती हैं, बस एक बग होने की प्रतीक्षा कर रहा है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जावा कई डेटाबेस से जुड़ रहा है

  2. कॉन्फिग टेबल का उपयोग करते हुए डायनेमिक एसक्यूएल

  3. मैं Oracle डेटाबेस को सबसे अच्छा कैसे बना सकता हूँ?

  4. डिफ़ॉल्ट ASP.NET MVC एप्लिकेशन के लिए Oracle डेटाबेस का उपयोग करना

  5. SQL सर्वर रिपोर्टिंग सेवाओं में Oracle दिनांक प्रारूप अपवाद