Sql Oracle:创建带有check约束的表时,关系运算符无效
我正在尝试使用oracle创建一个表,我一次又一次地收到相同的错误 第4行错误: ORA-00920:无效的关系运算符 以下是我的代码:Sql Oracle:创建带有check约束的表时,关系运算符无效,sql,oracle,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
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'),
);
感谢您的时间第四行没有可比性:
nomj VARCHAR(50) CHECK (UPPER(SUBSTR(nomj, 1, 1))),
-------------------------------------------------^
nomj VARCHAR(50) CHECK (SUBSTR(nomj, 1, 1) BETWEEN 'A' AND 'Z'),
你想查什么
另外,我会把最后一个写为
dateNaissance DATE CHECK (dateNaissance > date '1984-01-08')
转换为字符串不会导致错误,但完全没有必要
最后一个逗号也是一个错误
编辑:
第一个比较:
nomj VARCHAR(50) CHECK (UPPER(SUBSTR(nomj, 1, 1))),
-------------------------------------------------^
nomj VARCHAR(50) CHECK (SUBSTR(nomj, 1, 1) BETWEEN 'A' AND 'Z'),
Oracle比较通常区分大小写。Equipe表在哪里?你也可以发布吗?谢谢,它现在可以很好地处理日期字段的中间和更改