Sql oracle:添加用于检查列中现有值的约束

Sql oracle:添加用于检查列中现有值的约束,sql,oracle,constraints,alter-table,Sql,Oracle,Constraints,Alter Table,我想向列添加一个约束,如果要添加到该列的值不存在,则该约束将阻止插入新行。我已经做了一段时间了,这不是我当前的代码,但我希望它清楚地表明我正在努力实现什么 ALTER TABLE emps ADD CONSTRAINT department_id_ck WHERE department_id = 10 | 20 | 50 | 60 | 80 | 90 | 110; 非常感谢您的帮助 玩了一会儿之后,这就是我想要的声明 ALTER TABLE emps ADD CONSTRAINT d

我想向列添加一个约束,如果要添加到该列的值不存在,则该约束将阻止插入新行。我已经做了一段时间了,这不是我当前的代码,但我希望它清楚地表明我正在努力实现什么

ALTER TABLE emps
 ADD CONSTRAINT department_id_ck 
 WHERE department_id = 10 | 20 | 50 | 60 | 80 | 90 | 110; 

非常感谢您的帮助

玩了一会儿之后,这就是我想要的声明

ALTER TABLE emps
 ADD CONSTRAINT department_id_ck CHECK (department_id IN (10, 20, 50, 60, 80, 90, 110));

在列上做一个唯一的键怎么样?你应该通过Hanks Satya!我来试试,哪里还不存在?这是一个不寻常的要求。你能不能展示一些样本数据以及可能会成功或不会成功的插入。我会在以后的帖子中记住这一点戈登,我仍然在stack.prevent中计算协议。。。如果该值不存在,则表示对包含有效值的父表的引用约束。检查约束无法查询表以查看该值是否存在。