Dany4k
Dany4k

Reputation: 83

SQL Table Restriction

How can I specify, 5 distinct values for a varchar column in Oracle Application Express?

I need a column called tipo_conta (varchar) that only accepts 'Conta a ordem', 'Multibanco', 'Rendimento', 'Jovem', 'Rendimento-Habitacao' as possible values.

I tried this but I get this error - ORA-00907: missing right parenthesis.

What am I doing wrong?

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'))
);

Upvotes: 1

Views: 86

Answers (1)

user700390
user700390

Reputation: 2339

Actually it looks like you are missing a comma in your CONSTRAINT CLAUSES over here:

CONSTRAINT tipo_conta UNIQUE (tipo_conta)

should instead be:

CONSTRAINT tipo_conta UNIQUE (tipo_conta),


Also your CHECK does not reference the column properly:

Instead of CONSTRAINT chk_tipo_conta CHECK (Frequency IN ...

try CONSTRAINT chk_tipo_conta CHECK (tipo_conta IN ...

Upvotes: 1

Related Questions