在 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
中,假设 category
是 table1
的主键,您需要外键约束而不是 check
约束。不过,这似乎很奇怪,因为有一个 category
table,其中 category
引用了不同的父 table(大概是 category
table 定义有效类别)。也许您想定义一个唯一约束以确保 table 中没有重复的 category
值。也许您正在尝试做其他事情 - 解释业务问题将帮助我们理解对问题建模的正确方法。
声明检查约束时可以使用select语句吗
create table category
(id_category number primary key,
category varcahr2(100) check (category in (select * from table1))
谢谢
不,你不能。
我不确定我是否理解您要完成的任务。如果您要验证 category
是否存在于 table1
中,假设 category
是 table1
的主键,您需要外键约束而不是 check
约束。不过,这似乎很奇怪,因为有一个 category
table,其中 category
引用了不同的父 table(大概是 category
table 定义有效类别)。也许您想定义一个唯一约束以确保 table 中没有重复的 category
值。也许您正在尝试做其他事情 - 解释业务问题将帮助我们理解对问题建模的正确方法。