在 oracle 检查约束中使用 select 语句

use select statement in oracle check constraint

声明检查约束时可以使用select语句吗

create table category
(id_category number primary key,
category varcahr2(100) check (category in (select * from table1))

谢谢

不,你不能。

我不确定我是否理解您要完成的任务。如果您要验证 category 是否存在于 table1 中,假设 categorytable1 的主键,您需要外键约束而不是 check约束。不过,这似乎很奇怪,因为有一个 category table,其中 category 引用了不同的父 table(大概是 category table 定义有效类别)。也许您想定义一个唯一约束以确保 table 中没有重复的 category 值。也许您正在尝试做其他事情 - 解释业务问题将帮助我们理解对问题建模的正确方法。