5
respostas

Erro na hora de inserir os clientes ID = 5 e 6


Procedimento PL/SQL concluído com sucesso.


Procedimento PL/SQL concluído com sucesso.


Procedimento PL/SQL concluído com sucesso.

Erro a partir da linha : 9 no comando -
BEGIN incluir_cliente(5,'TAVERNA SDF','45600',1,60000); END;
Relatório de erros -
ORA-02291: restrição de integridade (CURSOPLSQL.FK_SEGMERCADO) violada - chave mãe não localizada
ORA-06512: em "CURSOPLSQL.INCLUIR_CLIENTE", line 14
ORA-06512: em line 1
02291. 00000 - "integrity constraint (%s.%s) violated - parent key not found"
*Cause:    A foreign key value has no matching primary key value.
*Action:   Delete the foreign key or add a matching primary key.
Erro a partir da linha : 10 no comando -
BEGIN incluir_cliente(6,'BAR 222','76000',1,20000); END;
Relatório de erros -
ORA-02291: restrição de integridade (CURSOPLSQL.FK_SEGMERCADO) violada - chave mãe não localizada
ORA-06512: em "CURSOPLSQL.INCLUIR_CLIENTE", line 14
ORA-06512: em line 1
02291. 00000 - "integrity constraint (%s.%s) violated - parent key not found"
*Cause:    A foreign key value has no matching primary key value.
*Action:   Delete the foreign key or add a matching primary key.
  • OBS: Não consta clientes com número de ID iguais.
5 respostas

Olá Matheus, tudo bem?

Esse erro na realidade não tem relação com o ID da tabela de CLIENTES, aparentemente está tentando inserir um segmento que não existe na tabela de SEGMERCADO, então, você poderia verificar se na tabela de SEGMERCADO existe algum segmento com o ID 1 cadastrado?

Aguardo o seu retorno!

Sim existe, nos inserts anteriores também foi inserido com o ID do segmercado igual a 1, na tabela de segmercado existe cadastra ID do 1 ao 4.

Solucionado!!

Problema estava na foreing key, peguei o nome da constraint com esse código: select table_name,constraint_name,column_name from user_cons_columns where constraint_name like '%FK%';

Depois exclui a contraint: alter table cliente drop constraint FK_SEGMERCADO;

E recrie a foreing key: ALTER TABLE Cliente ADD CONSTRAINT Cliente_SegMercado_fk FOREIGN KEY (SegMercado_id) REFERENCES SegMercado (ID);

Bom Matheus, você poderia disponibilizar algumas informações para que eu possa entender melhor o seu problema? Poderia disponibilizar toda a query que está executando para realizar a inserção destes clientes? Poderia também realizar um select na sua tabela SEGMERCADO e um select na sua tabela de CLIENTES e disponibilizar o resultado aqui ?

Aguardo o seu retorno!

Que bom Matheus que você conseguiu solucionar o seu problema!

Qualquer nova dúvida é só falar, bons estudos!