Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/10/2005, 20:59
Tantito
 
Fecha de Ingreso: octubre-2005
Mensajes: 3
Antigüedad: 18 años, 6 meses
Puntos: 0
Error: Duplicate entry ?

Hola !

Sigo intentando aprender... y ya voy llegando a los procedimientos almacenados !! :))
Tengo un inconveniente, que paso a exponer.

Situacion:
Tabla titles con las columnas: Title_id, Title, Type, pub_id, price, pubdate
Tabla Publishers con las columnas: Pub_id, Pub_name
Tabla titleauthor con las columnas: au_id, title_id
El procedimiento que hice es el siguiente:

create procedure sp_insercion_relacionada (in IdLibro varchar(6), in titulo varchar(12), in tipo char(12), in precio decimal(19,4), in fecha_publi datetime, in nombre_autor varchar(40), in apellido_autor varchar(20), in editorial varchar(40))
Begin
Declare IDPub char(4);
Declare IdAutor varchar(11);
Select pub_ID into IDPub From publishers Where pub_name=editorial;
Insert into titles(title_id,title,type,Pub_id ,price,pubdate) values(IdLibro,titulo,tipo,IDPub,precio,fecha_publ i);
Select au_id into IdAutor from authors where (au_lname=apellido_autor) AND (au_fname=nombre_autor);
Insert into titleauthor(au_id,title_id) values(IdAutor,IdLibro);
End;
Luego de ejecutarlo con los siguientes datos:
Call sp_insercion_relacionada("N321","An Introduction to Tivoli Enterprise","Networks",325.40,19991020, "Marjorie","Green","GGG&G")
Obtengo el siguiente error: Duplicate entry 'N321' for key 1

Además, solo se hace el primer Insert (en titles) pero no el segundo (a titleauthor).
No tengo entradas duplicadas, así es que no entiendo que es lo que motiva el error.

Alguien podría ser tan amable de marcarme el camino ? Sinceramente ya llevo algunas horas buscándole la vuelta y no lo consigo...
Gracias desde ya por vuestra atención.