CREATE VIEW DADOSTORNEIO AS
SELECT TORNEIO.NroTorneio , TORNEIO.NomeTorneio , TORNEIO.DescTorneio ,
TORNEIO.DataFim , TORNEIO.DataInicio , EQUIPES.CodEquipe , EQUIPES.NomeEquipe ,
EQUIPES.DescEquipe , ATLETAS.NroAtleta , ATLETAS.NomeAtleta , ATLETAS.TelAtleta ,
ATLETAS.SexoAtleta , ATLETAS.Modalidade
FROM TORNEIO , EQUIPES , ATLETAS
WHERE EQUIPES.NroTorneio == TORNEIO.NroTorneio
AND ATLETAS.CodEquipe == EQUIPES.CodEquipe
AND TO_DATE(SYSDATE()) > TORNEIO.DataFim;
上面的代码在Oracle Express 11g中提交了以下错误:
ORA-00936: missing expression
代码中哪个错误?
答案 0 :(得分:3)
在where子句中使用=
代替==
,而SYSDATE
代替SYSDATE()
答案 1 :(得分:1)
除了@RidaBENHAMMANE指出的错误之外,SYSDATE
已经是一个日期 - 用to_date转换它是没有意义的,所以代替
AND TO_DATE(SYSDATE()) > TORNEIO.DataFim;
只需使用
AND SYSDATE > TORNEIO.DataFim;