2017-11-22 170 views
0

私はNにYから列のデフォルト値を変更しようとしていた私は、まったく同じSQLORA-01735:無効なALTER TABLEオプション(COLUMNでのデフォルトを変更しようとしますが)

ALTER TABLE myschema.emp ALTER COLUMN is_active DEFAULT 'Y'; 

を使用 https://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqlj81859.htmlに言及したが、エラー

Error report - 
ORA-01735: invalid ALTER TABLE option 
01735. 00000 - "invalid ALTER TABLE option" 
*Cause:  
*Action: 
+0

データ型を追加してみますか?またはSETを追加しようとします。 ALTER TABLE myschema.emp ALTER COLUMN is_active SET DEFAULT 'Y'; – clinomaniac

+0

これはJavaDBの構文です。 JavaDBは[OracleのApache Derbyの実装](https://docs.oracle.com/javadb/support/overview.html)です。この構文は、[実際のOracle RDBMS](https://docs.oracle.com/database/121/SQLRF/statements_3001.htm#SQLRF01001)の構文とは異なります。私は、将来の参照のためにOracleのマニュアルをブックマークすることをお勧めします。 [Find it here](https://docs.oracle.com/database/121/SQLRF/toc.htm) – APC

+0

ありがとうございました – Anil

答えて

1

以下になったことは、この構文に従うようにしてください。私はそこにデータ型を置く必要があると信じています。

alter table foo modify(col2 varchar2(10) default 'foo'); 
+0

これを試してみました。 ALTER TABLE myschema.emp MODIFY is_active DEFAULT 'Y'。 – Anil

+0

あなたの質問にSETは必須ではありません。これは私のために働いたものです。 alter table foo modify(col2 varchar2(10)default 'foo'); – Anil