2012-10-13 18 views
7

Ben aşağıda SQL sorgusu ile kendisine iki yeni sütunlar ekleyerek Oracle veritabanında bir tablo değiştirmeye çalışıyorum:ALTER tablo sözdizimi

bunu yürütülürken
ALTER TABLE Members 
     ADD annual_dues NUMBER(5,2) not null DEFAULT '52.50', 
     ADD payment_date DATE; 

, ben aşağıdaki gibi bir hata alıyorum:

SQL Error: ORA-30649: missing DIRECTORY keyword

Etrafında oynamıştım ama yardımcı olmadı. SQL sorgusunda sorun nedir?

+0

bu Oracle veya MySQL mı için doğru sözdizimi nedir? –

+0

MySQL veya Oracle hatası? –

+4

Diğer her şey başarısız olursa, kılavuzu okuyun: http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_3001.htm#CJAHHIBI –

cevap

26

Sana DEFAULT 52.50 sonra NOT NULL koymak gerektiğini düşünüyorum:

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

@ypercubeIt çalıştı. Farklılıkların sırasını farklılaştırmış gibi görünüyor. Teşekkürler – Sarahfromnowhere

+0

Lütfen sorunun etiketini düzenleyin. Açıkçası hangi uygulamaya bağlandığınız önemli değil, kesinlikle Oracle'ınız var. –

+0

Kursun adı ne olursa olsun, hata iletisi *** "SQL Hatası: ORA-30649: DIRECTORY anahtar sözcüğü eksik" *** bir ** "ORA -" ** var. Bu, bağlı olduğunuz DBMS'nin açık bir göstergesidir. Oracle. Ayrıca, "ALTER TABLE" sözdizimi ikisi arasında biraz farklıdır. –

-1

bu sorununuzla

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

Lütfen daha önce söylediklerimi tekrarlayan cevaplar eklemeyin (beş yıl önce ...) – Mat

İlgili konular