2012-10-13 130 views
7

私は以下のようにSQLクエリでそれに二つの新しい列を追加することにより、Oracleデータベース内のテーブルを変更しようとしています:ALTER TABLE構文

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

私は周りを遊んだが、助けにはならなかった。 SQLクエリで何が間違っていますか?

+0

は、OracleまたはMySQLのためにこれですか? –

+0

MySQLまたはOracleエラー? –

+4

その他すべてが失敗した場合は、次のマニュアルを参照してください。http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_3001.htm#CJAHHIBI –

答えて

26

私はあなたがDEFAULT 52.50NOT NULLを置く必要があると思う:

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

@ypercubeIt worked。属性の順序が違いを生んだようです。ありがとう – Sarahfromnowhere

+0

質問のタグを編集してください。 Oracleに接続するためにどのアプリケーションを使用しているかにかかわらず、Oracleを明確に持っています。 –

+0

コースに名前がついていても、*** "SQLエラー:ORA-30649:DIRECTORYキーワードがありません"というエラーメッセージ***に** "ORA - " **が表示されます。これは、接続しているDBMS Oracleです。さらに、 'ALTER TABLE'の構文は、この2つの間で少し異なります。 –

-1

これはあなたの問題の正しい構文

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

すでに言われたことを繰り返すだけの回答を加えないでください(5年前...) – Mat

関連する問題