Jump to content


Photo

sp actualizar campo total,


  • Please log in to reply
3 replies to this topic

#1 I BaChO I

I BaChO I

    Newbie

  • Miembros
  • Pip
  • 5 posts

Posted 17 November 2011 - 09:35 PM

tengo una tabla llamada ingresos, la cual tiene como campos cod_ingresos, sueldo, gratificacion, productividad y total,

tengo un procedimiento sp_actualizaringreso, el cual deseo que cuando se modifiquen los datos (sueldo, gratificacion, productividad) automaticamente se modifique tambien el sueldo...

este es mi sp pero no se actualiza el total, ojala puedan ayudarme
.....

el error que tengo q doy como parametro de entrada el total, lo cual es incorrecto xq el total se autogenera con la suma de todos los ingresos,,,
quizas sea algo sencillo para muchos, pero me estoy iniciando en mysql, espero sepan comprender... gracias


DELIMITER $$

DROP PROCEDURE IF EXISTS `sp_actualizaringreso` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_actualizaringreso`(
in cod_ingresos_e char (8),
in sueldo_e decimal(10,3),
in gratificacion_e decimal (10,3),
in productividad_e decimal (10,3),
in total_e decimal (10,3))

BEGIN

update ingresos set sueldo=sueldo_e, gratificacion=gratificacion_e, productividad=productividad_e, total=total_e

where cod_ingresos=cod_ingresos_e;





END $$

DELIMITER ;

  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 18 November 2011 - 07:39 AM

Pues no le veo ningun problema al procedimiento, mas bien creo que tu problema viene de los datos que colocas, debes revisar un poco mas tu codigo, o al menos darnos un poco mas de detalles, porque realmente estoy un poco confuso, estas manejando alguna nomina de personal??.


Saludos.
  • 0

#3 I BaChO I

I BaChO I

    Newbie

  • Miembros
  • Pip
  • 5 posts

Posted 18 November 2011 - 04:48 PM

si , claro manejo otra tabla llamada trabajadores,

un amigo m dio una idea de como resolverlo, quizas sea con un trigguer ...
lanzar el trigguer cuando se modifiquie un campo en la tabla (ingresos), se automodifique el campo total de la talba ingresos,

si es asi, como podria ser el trigguer...

  • 0

#4 I BaChO I

I BaChO I

    Newbie

  • Miembros
  • Pip
  • 5 posts

Posted 18 November 2011 - 10:32 PM

ya resolvi el inconveniente... gracias a los chicos del chat...

DELIMITER $$

DROP PROCEDURE IF EXISTS `sp_actualizaringreso` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_actualizaringreso`(
in cod_ingresos_e char (8),
in sueldo_e decimal(10,3),
in gratificacion_e decimal (10,3),
in productividad_e decimal (10,3))
BEGIN
declare local_total decimal (10,3);
set local_total=sueldo_e+ gratificacion_e+ productividad_e;

update ingresos set  sueldo=sueldo_e,
gratificacion=gratificacion_e,
productividad=productividad_e,
total=local_total

where cod_ingresos=cod_ingresos_e;




END $$

DELIMITER ;
  • 0




IP.Board spam blocked by CleanTalk.