CREATE TABLE CONTRATADO
(
ID_JOGADOR NUMBER(10,0) NOT NULL,
DATA_INICIO DATE NOT NULL,
DATA_FIM DATE NOT NULL,
CONSTRAINT PK_CONTRATADO PRIMARY KEY (ID_JOGADOR, DATA_INICIO)
CONSTRAINT FK_CONTRATADO_REF_JOGADOR FOREIGN KEY (ID_JGOADOR)
REFERENCES JOGADOR(ID_JOGADOR),
CONSTRAINT CK_CONTRATADO CHECK (DATA_FIM > DATA_INICIO)
)
Relatório de erros -
ORA-00907: parêntese direito não encontrado
00907. 00000 - “missing right parenthesis”
*Cause:
*Action:
O select está exatamente do jeito que está aqui? Pois, olhando, parece faltar uma vírgula depois da linha da chave primária, e o nome do campo ID_JOGADOR está errado na chave estrangeira. Ajustando, fica assim:
CREATE TABLE CONTRATADO
(
ID_JOGADOR NUMBER(10,0) NOT NULL,
DATA_INICIO DATE NOT NULL,
DATA_FIM DATE NOT NULL,
CONSTRAINT PK_CONTRATADO PRIMARY KEY (ID_JOGADOR, DATA_INICIO),
CONSTRAINT FK_CONTRATADO_REF_JOGADOR FOREIGN KEY (ID_JOGADOR) REFERENCES JOGADOR(ID_JOGADOR),
CONSTRAINT CK_CONTRATADO CHECK (DATA_FIM > DATA_INICIO)
);
Abraço.