次のようにテーブルを作成しました。
create table emp( emp_id number(5) primary key
, emp_name varchar(20) not null
, dob date );
テーブルを作成した後、制約を SQL*Plus の制約またはその他の制約not null
に変更するにはどうすればよいですか?unique
制約をあるタイプから別のタイプに変更することはありません。テーブルにユニーク制約を追加できます
ALTER TABLE emp
ADD ( COSTRAINT uk_emp_name UNIQUE( emp_name ) );
emp_name
これは、値を持つことが許可されているかどうかとは無関係NULL
です。
ALTER TABLE
コマンドを使用するだけです。詳細については、http: //docs.oracle.com/cd/B28359_01/server.111/b28286/statements_3001.htm#i2103817を参照してください。
すでに追加されている制約を変更することはできません。制約を削除して、同じ名前の新しい制約を追加する必要がありますが、必要な変更を加えて追加します。
ALTER TABLE table_name drop constraint contraint_name;
alter table tablename add constraint containt_name CHECK (column_name IN (changes in the contraint)) ENABLE;