SQL Table 限制

SQL Table Restriction

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

我需要一个名为 tipo_conta (varchar) 的列,它只接受 'Conta a ordem'、'Multibanco'、'Rendimento'、'Jovem'、'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'))
);

实际上,您在此处的 CONSTRAINT CLAUSES 中似乎缺少一个逗号:

CONSTRAINT tipo_conta UNIQUE (tipo_conta)

应该改为:

CONSTRAINT tipo_conta UNIQUE (tipo_conta),


您的 CHECK 也没有正确引用该列:

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

尝试CONSTRAINT chk_tipo_conta CHECK (tipo_conta IN ...