Ir al contenido


Foto

sp actualizar campo total,


  • Por favor identifícate para responder
3 respuestas en este tema

#1 I BaChO I

I BaChO I

    Newbie

  • Miembros
  • Pip
  • 5 mensajes

Escrito 17 noviembre 2011 - 09:35

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
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 18 noviembre 2011 - 07:39

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 mensajes

Escrito 18 noviembre 2011 - 04:48

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 mensajes

Escrito 18 noviembre 2011 - 10:32

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.