Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/11/2012, 21:37
Avatar de Aoshy
Aoshy
 
Fecha de Ingreso: noviembre-2012
Ubicación: Chiclayo
Mensajes: 11
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Disparador MySQL tipo UPDATE

Hola foros del web, si que cometí un gran error al intentar que funcione este trigger. Así que tuve que verlo desde otra perspectiva y conseguí el resultado, bueno eso creo >_<

Bien ahora tengo 02 procedimientos almacenados...uno es el que esta arriba mencionado actualizar_estado que como verán actualiza el estado del cuy de vivo a muerto con '0' el siguiente SP es agrega_mortalidad

Código MySQL:
Ver original
  1. DROP PROCEDURE IF EXISTS agrega_mortalidad;
  2.  
  3. DELIMITER $$
  4.  
  5. CREATE PROCEDURE agrega_mortalidad(cod INT, nom CHAR(200), des CHAR(200), fech DATE, cant INT)
  6.     DECLARE est INT;
  7.     DECLARE cant INT DEFAULT 0;
  8.     DECLARE cod INT;
  9.    
  10.     SET est = (SELECT cuy.estado_cuy FROM cuy WHERE cuy.estado_cuy = '0')
  11.     SET cod = (SELECT cuy.id_cuy FROM cuy WHERE cuy.id_cuy = '1');
  12.     SET cant = cant + 1;
  13.  
  14.     IF (est = '0') THEN
  15.         INSERT INTO mortalidad (id_cuy,nombre_mortalidad, descripcion_mortalidad,
  16.         fechmuerte_mortalidad, cantidad_mortalidad)
  17.         VALUES(cod,'pulmonia','exposición al frio','2012-11-04',cant);
  18.     END IF;    
  19. END $$
  20. DELIMITER ;

el cual agregara los datos a la tabla MORTALIDAD y haré que se ejecute usando un disparador luego de que se actualice el estado del cuy de 1 a 0 de esta manera

Código MySQL:
Ver original
  1. DELIMITER $$
  2. CREATE TRIGGER tr_inserta_mortalidad AFTER UPDATE ON cuy
  3.         CALL agrega_mortalidad(@a, @b, @c, @d, @e);
  4. END$$

y listo ..espero que le sirva a alguien

Última edición por Aoshy; 06/11/2012 a las 17:04