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

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

谢谢

#1楼 票数:0 已采纳

不,你不能。

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

  ask by dba2015 translate from so

未解决问题?本站智能推荐:

2回复

Oracle:具有所有约束的表

我正在尝试创建一个select语句,它使我可以全面了解所有外键。 它看起来应该像这样: 我已经弄清楚“ user_constraints”表必须有一种方法,但是我需要一些帮助。
6回复

在 Oracle 中查询以使用子查询进行选择

我的 Oracle 数据库中有下表: 以及以下寄存器: 我的问题是我想做一个 SELECT ,只有当它离开并在同一天到达时才返回我的航班号。 例如,“1234”航班第 29 天起飞,第 29 天到达,而“4321”航班第 20 天起飞,第 21 天到达。我只想选择“1234”航班',因为它是
1回复

根据子查询有效的Oracle制造条件

如果子查询返回NULL,则如何修改条件好像不存在。 预期的结果是; 但是,当然,由于子查询的条件,下面的代码将返回null。 [数据表和数据] [我的代码]
3回复

我可以使用带有检查约束的select语句

我的表是父子表,其中包含两列。 第一列是ID ,即自动编号。 另一列是ParentID ,具有特殊条件。 如果行是父级,则ParentID = 0否则它应该与ParentID行相关。 例如: ParentID取决于ID列,如果ID包括ParentID = 0,则ParentID可
6回复

在检查约束中使用日期,Oracle

我正在尝试检查添加以下约束,但 Oracle 返回如下所示的错误。 错误:
2回复

在ORACLE的SELECT语句中使用SELECT

我有一个表名SAMPLETABLE这有我在TABLENAMES列中需要的表的表名。 可以说表名是TABLEA , TABLEB和TABLEC 。 在查询 我得到输出TABLENAMES列的输出与TABLEA值。 我的问题是,现在我想在select语句中使用这个选定的值。
3回复

Oracle检查约束

如果Oracle SQL中存在约束,您该怎么做? 下面不应该工作: 但这应该工作: 如何解决约束?
3回复

什么检查此Oracle约束

我不了解此Oracle约束: 它总是抛出ORA-02290错误。 有人可以帮我解释一下。