Ver Mensaje Individual
  #5 (permalink)  
Antiguo 08/07/2013, 07:18
Avatar de tanliz
tanliz
 
Fecha de Ingreso: abril-2013
Ubicación: Irapuato
Mensajes: 63
Antigüedad: 11 años, 1 mes
Puntos: 1
Respuesta: procedimiento almacenado, no realiza instrucciones que escribo?!

Hola, gracias por responder!, ya me funciono el procedimiento, quedo de esta manera:
Código MySQL:
Ver original
  1. CREATE DEFINER=`proi`@`localhost` PROCEDURE `Elimina_Compra`(IN CompraId VARCHAR(6),
  2.                         IN usuario VARCHAR(20))
  3.     DECLARE fecha DATETIME;
  4.     DECLARE totalCompra DECIMAL(10,2);
  5.     DECLARE proveedorID VARCHAR(6);
  6.     DECLARE newSaldo DECIMAL(10,2);
  7.     DECLARE oldSaldo DECIMAL(10,2);
  8.     SET fecha=NOW();
  9.     SET totalCompra=(SELECT Total FROM compras WHERE Compra_Id=CompraId);
  10.     SET proveedorID=(SELECT Proveedor_Id FROM compras WHERE Compra_Id=CompraId);
  11.     SET newSaldo=(SELECT Saldo-totalCompra
  12.                     FROM cuentas_por_pagar
  13.                     WHERE Proveedor_Id=proveedorID
  14.                     AND Estatus_Cuenta='Pendiente');
  15.    
  16.     IF newSaldo<=>0 THEN
  17.         UPDATE cuentas_por_pagar
  18.         SET Estatus_Cuenta='Cancelada',
  19.             Usuario_Modifico=usuario,
  20.             Fecha_Modifico=fecha
  21.         WHERE proveedor_id=proveedorID
  22.         AND Estatus_Cuenta='Pendiente';
  23.     ELSE
  24.         UPDATE cuentas_por_pagar
  25.         SET Saldo=newSaldo,
  26.             Usuario_Modifico=usuario,
  27.             Fecha_Modifico=fecha
  28.         WHERE proveedor_id=proveedorID
  29.         AND Estatus_Cuenta='Pendiente';  
  30.     END IF;
  31.    
  32.    
  33.     UPDATE compras
  34.     SET Estatus_Compra='Cancelada',
  35.         Usuario_Modifico=usuario,
  36.         Fecha_Modifico=fecha
  37.     WHERE Compra_Id=CompraId;
  38.    
  39.     END$$