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));

将约束添加到角色列。

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 回答