1

次のようにテーブルを作成しました。

create table emp( emp_id number(5) primary key
                , emp_name varchar(20) not null
                , dob date );

テーブルを作成した後、制約を SQL*Plus の制約またはその他の制約not nullに変更するにはどうすればよいですか?unique

4

3 に答える 3

3

制約をあるタイプから別のタイプに変更することはありません。テーブルにユニーク制約を追加できます

ALTER TABLE emp 
  ADD ( COSTRAINT uk_emp_name UNIQUE( emp_name ) );

emp_nameこれは、値を持つことが許可されているかどうかとは無関係NULLです。

于 2012-06-05T14:57:20.257 に答える
0

ALTER TABLEコマンドを使用するだけです。詳細については、http: //docs.oracle.com/cd/B28359_01/server.111/b28286/statements_3001.htm#i2103817を参照してください。

于 2012-06-05T14:56:37.877 に答える
0

すでに追加されている制約を変更することはできません。制約を削除して、同じ名前の新しい制約を追加する必要がありますが、必要な変更を加えて追加します。

ALTER TABLE  table_name drop constraint contraint_name;

alter table tablename add constraint containt_name CHECK (column_name IN (changes in the contraint)) ENABLE;
于 2020-01-17T06:19:12.107 に答える