Oracle:创建具有检查约束的表时无效的关系运算符

时间:2015-03-24 17:06:08

标签: sql oracle

我试图用oracle创建一个表,我一次又一次地得到同样的错误

第4行的错误: ORA-00920:无效的关系运算符

这是我的代码:

    CREATE TABLE Joueur(
    pseudo VARCHAR(50) PRIMARY KEY,
    nome VARCHAR(255) REFERENCES Equipe(nome),
    nomj VARCHAR(50) CHECK (UPPER(SUBSTR(nomj, 1, 1))),
    dateNaissance DATE CHECK (to_char(dateNaissance,"YYYY/MM/DD") > '1984/01/08'), 
);

感谢您的时间

1 个答案:

答案 0 :(得分:1)

第四行无法比较:

nomj VARCHAR(50) CHECK (UPPER(SUBSTR(nomj, 1, 1))),
-------------------------------------------------^

你想检查什么?

另外,我会将最后一个写为

dateNaissance DATE CHECK (dateNaissance > date '1984-01-08')

转换为字符串不会导致错误,但完全没必要。

最后一个逗号也是错误。

编辑:

第一次比较:

nomj VARCHAR(50) CHECK (SUBSTR(nomj, 1, 1) BETWEEN 'A' AND 'Z'),

Oracle比较通常区分大小写。