列检查约束完整性问题

时间:2016-05-12 13:34:43

标签: sql database oracle reference multiple-columns

$_SESSION['logger']

嗨,有人可以帮忙吗?我没有引用任何其他列,但我收到一条错误消息,说我正在引用其他列。

2 个答案:

答案 0 :(得分:4)

我会尝试将其更改为:

CONSTRAINT chk_ctype CHECK (CTYPE IN ('INDIVIDUAL', 'INSTITUTION')));

我还必须在那里添加另一个右括号,但它在SQLFiddle中运行正常。

答案 1 :(得分:2)

Oracle中的约束不需要名称。

相反,你使用关键字" CONSTRAINT"但在这种情况下,您必须提供姓名,或者您不能使用关键字" CONSTRAINT"。您最后一行的以下语法非常适用。 (请注意,进行此更改后,您仍会收到有关与表定义相对应的缺少右括号的错误消息,正如Tom H已注意到的那样。)

CHECK (CTYPE IN('INDIVIDUAL', 'INSTITUTION'));

也就是说,如果您不想或不需要为约束命名,只需删除单词" CONSTRAINT"从那条线。

http://docs.oracle.com/cd/B19306_01/server.102/b14200/clauses002.htm#CJAGIICD