Ver Mensaje Individual
  #8 (permalink)  
Antiguo 16/11/2014, 06:54
ut261c
 
Fecha de Ingreso: noviembre-2014
Ubicación: peru-lima
Mensajes: 32
Antigüedad: 9 años, 5 meses
Puntos: 2
Respuesta: Procedimiento almacenado transacción de banco

SOLUCIÓN AL ERROR DE LA LINEA DE DECLARE, END IF.
Código SQL:
Ver original
  1. delimiter --NECESARIO PARA CREAR VARIABLES Y QUE NO SALGA ERROR EN END IF. NO ES NECESARIO PONER &&,$$,//
  2. CREATE PROCEDURE p_retiro(
  3. r_num_cue INT,
  4. r_sal_ret DECIMAL(13,2)
  5. )
  6. BEGIN
  7. DECLARE obt_num_cue INT;
  8. DECLARE obt_sal_ini DECIMAL(13,2);
  9. DECLARE res_sal DECIMAL(13,2);
  10. SET obt_num_cue = (SELECT numero_cuenta FROM cuenta WHERE numero_cuenta = r_num_cue);
  11. SET obt_sal_ini = (SELECT saldo FROM cuenta WHERE numero_cuenta = r_num_cue);
  12. IF (obt_sal_ini >= r_sal_ret) THEN
  13. SET res_sal = obt_sal_ini - r_sal_ret;
  14. INSERT INTO retiro VALUES
  15. (r_num_cue,r_sal_ret);
  16. UPDATE cuenta SET saldo = res_sal WHERE numero_cuenta = r_num_cue;
  17. INSERT INTO movimientos VALUES
  18. (r_num_cue,obt_sal_ini,res_sal,r_sal_ret);
  19. END IF;
  20. END -- NO SE DEBE ACABAR CON -- && , $$ , //

--- GRACIAS POR LAS RESPUESTAS ---

Última edición por gnzsoloyo; 16/11/2014 a las 08:10