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 ...
如何在 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 ...