SQL检查约束不能引用其他列 [英] SQL Check Constraint cannot reference other column

查看:1573
本文介绍了SQL检查约束不能引用其他列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图添加此sql签入

I trying to add this sql check in

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的列调用Role

I am trying add a column call Role, with the check constraint check_role

我正在使用Oracle SQL.

I am using Oracle SQL.

感谢所有帮助!

推荐答案

将角色"列添加到表中

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

这篇关于SQL检查约束不能引用其他列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆