[RESOLVIDO] Erro ORA-01735 / ORACLE

2 respostas
juliomendes90

Galera,

Criei algumas tabelas e sequencias no meu banco, porém ao querer fazer a criação das chaves estrangeiras, dá um erro (Erro ORA-01735).

Criei o banco com o seguinte script:

conn system/root;

drop table consulta cascade constraint;
drop table medico cascade constraint;
drop table paciente cascade constraint;

drop sequence seqconsulta;
drop sequence seqmedico;
drop sequence seqpaciente;

create table medico(
	idMedico number primary key,
	nomeMedico varchar(20)
);

create table paciente(
	idPaciente number primary key,
	nome varchar(30),
	cpf varchar(15) unique
);

create table consulta(
	idConsulta number primary key,
	dataConsulta date,
	paciente number,
	medico number
);

create sequence seqmedico;
create sequence seqpaciente;
create sequence seqconsulta;

Até aqui foi tudo ok.

Mas ao tentar criar as fk's deu erro. Usei o código abaixo:

alter table consulta add contraint fkpacienteconsulta
	foreign key(paciente) references paciente(idPaciente)
	on delete cascade;
	
alter table consulta add contraint fkmedicoconsulta
	foreign key(medico) references paciente(idMedico)
	on delete cascade;

Alguém pode me ajudar?

Abs,

2 Respostas

pmlm

CONSTRAINT

juliomendes90
pmlm:
CONSTRAINT

Muito obrigado. Além desse erro, tinha outro erro na segunda FK.

Como estava:
alter table consulta add contraint fkmedicoconsulta  
    foreign key(medico) references paciente(idMedico)  
    on delete cascade;

O erro era na segunda linha, pois eu estava chamando a tabela paciente(idMedico), sendo que idMedico parte a tabela médico.

Ficou assim:
alter table consulta add constraint fkpacienteconsulta
	foreign key(paciente) references paciente(idPaciente)
	on delete cascade;
	
alter table consulta add constraint fkmedicoconsulta
	foreign key(medico) references medico(idMedico)
	on delete cascade;

Obrigado novamente! ;-)

Criado 2 de agosto de 2014
Ultima resposta 2 de ago. de 2014
Respostas 2
Participantes 2