Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Orientacion con Stored Procedure

Estas en el tema de Orientacion con Stored Procedure en el foro de Mysql en Foros del Web. Saludos, tengo un pequeño problema con un stored procedure, vale la pena destacar que este es mi primer SP en mySql... Código: DELIMITER $$ DROP ...
  #1 (permalink)  
Antiguo 11/10/2011, 15:24
 
Fecha de Ingreso: octubre-2010
Mensajes: 18
Antigüedad: 14 años, 1 mes
Puntos: 0
Orientacion con Stored Procedure

Saludos, tengo un pequeño problema con un stored procedure, vale la pena destacar que este es mi primer SP en mySql...

Código:
DELIMITER $$

DROP PROCEDURE IF EXISTS `registrarOperacion` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `registrarOperacion`(tabla varchar(255), atributo varchar(255), identificador int, valor double)
BEGIN

  declare padre int;
  declare valor2 double;
  declare suma double;


SET @PADRE = NULL;
SET @IDENTIFICADOR = NULL;
SET @VALORTOTAL = NULL;
SET @SUMA = NULL;
SET @VALOR2 = NULL;
set @sumatotal = NULL;


SET @qry1 = CONCAT('SELECT parent_id from ', tabla, ' WHERE id =', identificador,' into @padre;');
SET @qry2 = CONCAT('SELECT ', atributo, ' from ', tabla, ' where id=@padre into @VALOR2;');
SET @qry3 = CONCAT('UPDATE ', tabla, ' set ', atributo, ' = ',valor,' where id = ', identificador, ';');

PREPARE stmt1 FROM @qry1;
PREPARE stmt2 FROM @qry2;
PREPARE stmt3 FROM @qry3;

EXECUTE stmt1;
EXECUTE stmt2;
EXECUTE stmt3;

    if @padre <> 0 then

        SET @qry4 = CONCAT('SELECT sum(', atributo, ') from ', tabla, ' where parent_id=@padre into @SUMA;');       
        SET @qry5 = CONCAT('UPDATE (', tabla, ') set ', atributo, '=@SUMA WHERE ID=@padre');
        PREPARE stmt4 FROM @qry4;
        PREPARE stmt5 FROM @qry5;
        EXECUTE stmt4;
        EXECUTE stmt5;
        SET @@GLOBAL.max_sp_recursion_depth = 255;
           SET @@session.max_sp_recursion_depth = 255;
        call registrarOperacion(tabla,atributo,@PADRE,@SUMA);


    end if;

END $$

DELIMITER ;
Necesito que en lugar de 'valor' (uno de los parametros que inserto) pueda sumar el valor del parametro insertado con el valor de @VALOR2 y a su vez
poder colocar el resultado en lugar de 'valor' en esta sentencia
Código:
SET @qry3 = CONCAT('UPDATE ', tabla, ' set ', atributo, ' = ',valor,' where id = ', identificador, ';');
Alguna idea? alguien me puede dar una mano?

gracias de antemano...

Etiquetas: orientacion, procedure, select, sql, stored, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:14.