Hola amigos, tengo un problema con un procedimiento almacenado para una base de datos de ventas.
A la hora de llamar el procedimiento almacenado me tira error "Cannot add or update a child row" Ya que me es raro, pues programe el procedimiento para que me inserte el id primario de mi tabla productos, para despues actualizar el id primario de entradas.
Espero me puedan ayudar, os dejo unas capturas de mi procedimiento y la estructura de las tablas.
Y el codigo de mi procedimiento almacenado.
create procedure ProductoEntradasV1
(
p_id_producto varchar (50),
p_id_entradas varchar (50),
p_cantidad int,
p_precio double,
p_nombre varchar (50)
)
begin
declare existepro varchar(50);
set existepro = (Select id_producto from Producto where id_producto = p_id_producto);
if(existepro is null) Then
insert into Entradas (id_entradas, id_producto, cantidad, precio, fecha) values (p_id_entradas, p_id_producto, p_cantidad, p_precio, Sysdate());
update Producto set existencia = existencia + p_cantidad where id_producto = p_id_producto;
update Producto set precio_v = (p_precio * 0.16) + p_precio where id_producto = p_id_producto;
else
insert into Producto values (p_id_producto, p_nombre, 0, 0);
select existepro;
end if;
end //
Saludos!