2012-10-13 10 views
7

मैं नीचे के रूप में SQL क्वेरी के साथ यह करने के लिए दो नए स्तंभ जोड़कर Oracle डाटाबेस में एक तालिका में परिवर्तन करने की कोशिश कर रहा हूँ:परिवर्तन तालिका सिंटैक्स

ALTER TABLE Members 
     ADD annual_dues NUMBER(5,2) not null DEFAULT '52.50', 
     ADD payment_date DATE; 

यह क्रियान्वित करने पर, मैं नीचे के रूप में एक त्रुटि हो रही है:

SQL Error: ORA-30649: missing DIRECTORY keyword

मैंने इसके आसपास खेला है लेकिन इससे मदद नहीं मिली है। एसक्यूएल क्वेरी में क्या गलत है?

+0

इस ओरेकल के लिए या MySQL के लिए है के लिए सही सिंटैक्स है? –

+0

MySQL या ओरेकल त्रुटि? –

+4

यदि सब कुछ विफल हो जाता है, तो मैन्युअल पढ़ें: http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_3001.htm#CJAHHIBI –

उत्तर

26

मुझे लगता है कि आप DEFAULT 52.50 के बाद NOT NULL रखना होगा:

ALTER TABLE Members 
    ADD (annual_dues NUMBER(5,2) DEFAULT 52.50 NOT NULL 
     , payment_date DATE); 
+0

@ypercube यह काम किया। ऐसा लगता है कि गुणों के क्रम में अंतर आया। धन्यवाद – Sarahfromnowhere

+0

कृपया प्रश्न का टैग संपादित करें। आपके पास स्पष्ट रूप से ओरेकल है, इससे कोई फर्क नहीं पड़ता कि आप किस एप्लिकेशन से कनेक्ट करने के लिए उपयोग कर रहे हैं। –

+0

जो कुछ भी कोर्स किया गया है, त्रुटि संदेश *** "एसक्यूएल त्रुटि: ओआरए -3064 9: गायब निर्देशिका कीवर्ड" *** में ** ** "ओआरए -" ** है जो एक स्पष्ट संकेत है कि डीबीएमएस से आप जुड़े हुए हैं ओरेकल है इसके अलावा, 'वैकल्पिक तालिका' के लिए वाक्यविन्यास दोनों के बीच थोड़ा अलग है। –

-1

इससे आपकी समस्या का

alter table members 
    add (annual_dues decimal (5,2) default '52.50' not null, 
payment_date date); 
+4

कृपया उन उत्तरों को न जोड़ें जो केवल पहले ही बताए गए थे (पांच साल पहले ...) – Mat

संबंधित मुद्दे