2017-10-01 16 views
0

値がまだ挿入されていない既存のテーブルの列にnotnull制約を追加する方法。つまり、テーブルのみが作成され、テーブルを変更します。 クエリ既存のテーブルの列にnotnull制約を追加する

 ALTER TABLE TABLENAME MODIFY COLUMNAME DATATYPE NOT NULL; 

に従うが、OracleはALTER TABLEでエラー "無効なALTER TABLEオプション"

+4

変更表タブレット MODIFY COLUMN column_nameデータ型NOT NULL; – Khalil

+0

@Khalil、それは有効な構文ではありません。 'COLUMN'は' ALTER TABLE table MODIFY'コマンドでは不要です(または許可することもできます)(オブジェクト型カラムの 'SUBSTITUTABLE'オプションを除く)。 'ORA-00905 missing keyword'が表示されます。 –

+0

Oracle 10gの前に「COLUMN」が必要です。これはOracle 10g以降で変更されました。 – Khalil

答えて

1

を投げているあなただけの変更内容を指定する必要が

ALTER TABLE TABLENAME MODIFY COLUMNAME NOT NULL; 

データ型を変更しないので、再度指定する必要はありません。

関連する問題