Oracle - insert en tablas error

 
Vista:

insert en tablas error

Publicado por sossfdf (10 intervenciones) el 28/03/2006 13:10:34
HOLA QUERIA SABER PORQUE ME DA EL SIGUIENTE ERROR al hacer el segundo insert en la segunda tabla alguien sabe porque es?

ERROR en línea 1:
ORA-00001: restricción única (SCOTT.SYS_C003122) violada

las dos tablas creadas son y los insert son:

SQL> create table tipocontacto
2 (idcontacto number(2) primary key,
3 descripcion varchar2(25) not null
4 );

Tabla creada.

SQL> create table contacto
2 (idpersona number(6) primary key,
3 nombre varchar2(20) not null,
4 apellido1 varchar2(25) not null,
5 apellido2 varchar2(25),
6 idtipocontacto number(2),
7 fechaalta date,
8 FOREIGN KEY(idtipocontacto) REFERENCES tipocontacto
9 );

Tabla creada.

los insert son:

SQL> insert into tipocontacto values(1,'AMIGO DE LA INFANCIA');

1 fila creada.

SQL> insert into tipocontacto values(2,'COMPAÑERO DE TRABAJO');

1 fila creada.

SQL> insert into contacto values(1,'JUAN','RAMIREZ','FERNANDEZ',1,'15/12/2005');

1 fila creada.

SQL> insert into contacto values(2,'PEPE','SANCHEZ','GOMEZ',2,'15/12/2005');

1 fila creada.

SQL> insert into contacto values(2,'SANDRA','MARTINEZ','RUIZ',2,'15/02/2001');
insert into contacto values(2,'SANDRA','MARTINEZ','RUIZ',2,'15/02/2001')
*
ERROR en línea 1:
ORA-00001: restricción única (SCOTT.SYS_C003122) violada
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:insert en tablas error

Publicado por uliseswarior (41 intervenciones) el 28/03/2006 17:35:54
Hola!!

Mira te da error porque estas ingresando dos veces el idpersona 2 en la tabla contacto y la tu llave primaria es el campo idpersona lo que indica es que sobre este campo no puede haber codigos de personas repetidos, por eso es el error lo que debes de hacer es asignales un numero diferente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:insert en tablas error

Publicado por el_diablo (16 intervenciones) el 28/03/2006 20:01:42
El error es obvio.

Estas violando la restriccion de unicidad.
Es decir, creaste la tabla con llave primaria , por definiciion
en teoria relacional, la llave primaria debe cumplir con las reglas de unicidad y
minimalidad, ademas con la regla de integridad de las entidades que no acepta
nulos.

Bueno, cuando insertas en la tabla, colocas a la llave primaria
el valor de 2 con PEPE SANCHEZ PEREZ
el siguiente insert de SANDRA SANCHEZ vuelves a colocar de idpersona
el valor de 2 pero esa columna es llave primaria por lo tanto no se puede
repetir, y la estas repitiendo.
Esto viola la regla de restriccion de unicidad, y ese es el mensaje.

En conclusion el error es porque estas metiendo un valor repetido
en la llave primaria.

Te recomiendo que leas un poco de teoria relacional
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:insert en tablas error

Publicado por iTZEL (1 intervención) el 05/09/2018 18:44:30
Gracias por la respuesta *el_diablo a mi la verdad no me parecía tan obvio debido a que son tablas diferentes donde estoy haciendo la insersión, son dos tablas y te agradezco que hayas explicado el error
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar