1

このSQLチェックインを追加しようとしています

ALTER TABLE School
add Role check_role
  CHECK (check_role IN ('Teaching Assistant', 'Lecturer', 'Professor'));

以下のエラーが表示されます

ERROR at line 3:
ORA-02438: Column check constraint cannot reference other columns

SQL> desc School;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------

 STAFFNUM                                  NOT NULL VARCHAR2(12)
 NAME                                      NOT NULL VARCHAR2(50)
 ADDRESS                                   NOT NULL VARCHAR2(300)
 DOB                                                DATE

チェック制約check_roleを使用して、列呼び出しロールを追加しようとしています

私はOracle SQLを使用しています。

助けてくれてありがとう!

4

1 に答える 1

5

ロール列をテーブルに追加するには

 alter table School
    add (Role   varchar(10));

Role 列に制約を追加するには。

alter table School
  add constraint check_role
  check (Role IN ('Teaching Assistant', 'Lecturer', 'Professor'));

=========

ALTER TABLE School ADD COLUMN Role VARCHAR(50) 
CONSTRAINT check_role CHECK 
  (Role IN ('Teaching Assistant', 'Lecturer', 'Professor'));
于 2012-11-06T04:15:57.840 に答える