SQL Error. Ayuda.

Sephi19

Buenas, estaba practicando consultas y demás en SQL Developer cuando me he encontrado con un error y no consigo entender su origen.

Os explico el caso:
Tengo la tabla Curso creada:

spoiler

Y en esta tabla quiero insertar unos datos los cuales he revisado y todos tienen la misma estructura así que un error de sintaxis no es. Cada dato que quiero insertar es así pero con distintos datos obviamente:

spoiler

Pero al ejecutar esta línea me salta el siguiente error:

spoiler

Me podeis ayudar a encontrar el error? He estado buscando por internet y si no he entendido mal, el error esta al crear la tabla y al insertar los datos, incumple alguna norma de restricción de la tabla pero no entiendo bien cual.

corono

En Sql estoy bastante pez, pero buscando un poco sobre tu código de error:

ORA-02291: integrity constraint (string.string) 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.

For an insert statement, this ORA-02291 error is common when you are trying to insert a child without a matching parent, as defined by a foreign key constraint. In that case, you need to add the parent row to the table and then re-insert your child table row.

¿Cómo has definido la estructura de la tabla?

PD: StackOverflow es tu amigo https://stackoverflow.com/questions/13518246/violated-parent-key-not-found-error

1 1 respuesta
Sephi19

#2 Pues no lo entiendo, la tabla Curso esta enlazada por foreignkey con la de Departamento la cual es:

create table departamento (
DEPT char(4) not null,
DEDIF char(2) not null,
DEDESPACHO int not null,
DCHFNO char(3) null,
primary key (DEPT)
);

1 respuesta
Grise

#3 ¿En la tabla departamento existe DEPT = 'cis'?

1 2 respuestas
Sephi19

#4 Vale, creo que lo acabo de encontrar, en DEPT tengo metido 'CIS' y estoy metiendo en Curso el valor 'cis' quiza las mayus afecten, voy a probar.

1 respuesta
Sephi19

Confirmamos, era eso, ahora si que me deja introducir los datos. Gracias por la ayuda, al final las tonterías mas tontas son las que mas tiempo te chupan macho xD

Nymphetamine

#4 Eso mismo iba a decir, tiene que existir el DEPT en la tabla Departamento que quieres crear en la tabla Curso.

1 1 respuesta
Sephi19

#7 Sisi, sabia que para introducir datos en Curso, primero tendria que haber ese tipo de datos en departamento porque depende de esa tabla, pero no sabia que los datos diferenciaban entre mayus y minus. :P

1 respuesta
Nymphetamine

#8 Si solo fuera entre mayus y minus...xD

Hay que tener muchísimo ojo con los tipos de datos, saltan errores por todos lados que no te explicas si no te han ocurrido.

2
ReLaX

#5 Te recomiendo que no uses chars, varchars, etc... como primary key. Lo mejor es que uses un int autoincremental.

1

Usuarios habituales

  • ReLaX
  • Nymphetamine
  • Sephi19
  • Grise
  • corono