SQL表限制

时间:2016-01-17 22:33:47

标签: sql oracle oracle11g check-constraint

如何为Oracle Application Express中的varchar列指定5个不同的值?

我需要一个名为tipo_conta(varchar)的专栏,只接受'包含ordem',' Multibanco'' Rendimento'' Jovem&# 39;,' Rendimento-Habitacao'作为可能的价值观。

我尝试了这个但是我收到了这个错误 - ORA-00907:缺少右括号。

我做错了什么?

CREATE TABLE contas 
(
id_conta NUMBER(6),
tipo_conta VARCHAR2(20),
CONSTRAINT id_conta PRIMARY KEY(id_conta),
CONSTRAINT tipo_conta UNIQUE (tipo_conta)
CONSTRAINT chk_tipo_conta CHECK (Frequency IN ('Conta a ordem', 'Multibanco', 'Rendimento', 'Jovem', 'Rendimento-Habitacao'))
);

1 个答案:

答案 0 :(得分:1)

实际上看起来你在CONSTRAINT CLAUSES中缺少一个逗号:

CONSTRAINT tipo_conta UNIQUE (tipo_conta),

应改为:

CHECK

此外,您的CONSTRAINT chk_tipo_conta CHECK (Frequency IN ...未正确引用该列:

而不是CONSTRAINT chk_tipo_conta CHECK (tipo_conta IN ...

尝试hold on; plot(NaN,'marker','d','markerfacecolor',[0 1 0],'LineStyle','none','color',rgb('lime'));