SoloCodigo
Bases de Datos => MySQL => Mensaje iniciado por: The Clairvoyant en Martes 3 de Febrero de 2009, 04:47
-
Hola! les presento un diagrama de mi base de datos para q me entiendan
h**p://img111.imageshack.us/img111/885/diagrama3cd7.png
esta imagen esta hecha en sql server 2000, claro q ya migre a mysql!!
Ya tengo el trigger en el cual se le resta a la existencia de zapatos dependiendo de la cantidad que haya en detalle_pedido.
Ahora lo que deseo hacer es esto:
Por medio de un trigger llenar la tabla detalle_sucursal. para eso se necesita la info de las tablas pedido y detalle_pedido,
de la tabla pedido se obtendra el dato de id_sucursal
de la tabla detalle_pedido se obtendra el id_zapato, tamano y cantidad
me supongo que iria con un if pero no me da resultados!! Si ya se encuentran los datos de id_sucursal, cod_zapato y tamano, que solo se actualice el campo cantidad, sino que se agregue la informacion completa!
Espero hacerme entender!!
denme una ayuda! please! lo necesito!!
-
Hola! les pongo mi tablas!!
tabla zapatos
cod_zapato(pk), tamano(pk) ,marca, existencia
Tabla sucursal
id_sucursal(pk), sucursal
tabla detalle_sucursal
cod_zapato(pk), tamano(pk), id_sucursal(pk), cantidad. Esta tabla esta relacionada con la tabla zapatos y la tabla sucursal.
tabla pedido
id_pedido(pk), id_sucursal, fecha_pedido. Esta tabla se relaciona con id_sucursal
detalle_pedido
id_pedido Esta tabla se relaciona con zapatos y pedido!
cod_zapato
tamano
cantidad
Ya poseo el trigger para disminuir la existencia dependiendo de los pedidos! pero lo q no me sale todavia es llenar la tabla detalle_su :hitcomp: con los datos q se ingresan en pedido (donde se toma el id_sucursal) y en detalle_pedido(en donde se toma el cod_zapato, el tamano y la cantidad) claro! q si las llaves ya se encuentran ingresadas que solo se actualice la cantidad!!
-
Puedes publicar tu codigo?
-
Puedes publicar tu codigo?
Aqui te pongo el code!! claro q la logica de este codigo lo encontre en una pagina web, no se si es prohibido poner estos enlaces o no!
DELIMITER $$
DROP TRIGGER /*!50032 IF EXISTS */ `zapateria`.`disminuir_existencia`$$
CREATE
/*!50017 DEFINER = 'root'@'localhost' */
TRIGGER `disminuir_existencia` BEFORE INSERT ON `detalle_producto`
FOR EACH ROW BEGIN
declare ep int;
select producto.existencia into ep from producto
where producto.cod_producto = new.cod_producto;
if ep >= new.cantidad then
update producto set existencia = existencia - new.cantidad
where producto.cod_producto = new.cod_producto;
else
set new.id_venta = null;
end if;
END;
$$
DELIMITER ;
ahi esta el codigo!! ahora lo que deseo es agarrar el dato id_venta de la tabla pedido y cod_zapato, cantidad de la tabla detalle_pedido.
y con un if me supongo haria la validacion: si se encuentra el cod_zapato y id_sucursal que se actualice la cantidad, sino que haga un insert para poner los valores de cod_zapato, id_sucursal y cantidad!
se puede hacer eso en mysql? espero que siiiii!!