Ver Mensaje Individual
  #8 (permalink)  
Antiguo 20/05/2013, 13:45
Avatar de aid_val
aid_val
 
Fecha de Ingreso: mayo-2013
Ubicación: Guanajuato
Mensajes: 302
Antigüedad: 11 años, 8 meses
Puntos: 5
Respuesta: Procedimiento almacenado en SQL con Acumulados

Cita:
Iniciado por Libras Ver Mensaje
no marca error vamos de gane, como dejaste tu codigo??
Lo he dejado asi pero cuando executo el procedimiento almqacenado me dice la fila afectada pero lo consulto y no me manda ninguna modificacion

Código SQL:
Ver original
  1. ALTER PROCEDURE [dbo].[PA_MODIFICAR_CANTIDAD]
  2. @CANTIDAD_ESTIMACION DECIMAL(18,4),
  3. @ID_RESUMEN_GENERADOR BIGINT,
  4. @ID_CONCEPTO BIGINT
  5.  
  6. AS
  7. DECLARE
  8. @ACUMULADO_ESTIMACION_ATERIOR DECIMAL(18,4),
  9. @ACUMULADO_ESTIMACION DECIMAL(18,4),
  10. @CANTIDAD_FALTANTE DECIMAL(18,4)
  11.  
  12. BEGIN try
  13. BEGIN tran
  14. SELECT @ACUMULADO_ESTIMACION  = SUM(b.CANTIDAD_ESTIMACION) FROM resumen_generador  a CROSS JOIN resumen_generador  b WHERE (b.id_resumen_generador <= a.id_resumen_generador AND A.id_concepto=@ID_CONCEPTO )GROUP BY a.id_resumen_generador ,a.cantidad_estimacion ORDER BY a.id_resumen_generador ,a.cantidad_estimacion
  15. SELECT  @ACUMULADO_ESTIMACION_ATERIOR = (SUM(b.CANTIDAD_ESTIMACION) -(MAX(a.CANTIDAD_ESTIMACION)) ) FROM resumen_generador  a CROSS JOIN resumen_generador  b WHERE (b.id_resumen_generador <= a.id_resumen_generador AND A.id_concepto=@ID_CONCEPTO )GROUP BY a.id_resumen_generador ,a.cantidad_estimacion ORDER BY a.id_resumen_generador ,a.cantidad_estimacion
  16. SET @CANTIDAD_FALTANTE =( SELECT CANTIDAD_PRESUPUESTO FROM ConceptoPresu WHERE id_concepto = @ID_CONCEPTO)-@ACUMULADO_ESTIMACION
  17.  
  18. UPDATE resumen_generador SET @CANTIDAD_ESTIMACION=CANTIDAD_ESTIMACION,
  19.                              @ACUMULADO_ESTIMACION_ATERIOR  = CANTIDAD_ACUMULADA_ANTERIOR,
  20.                              @ACUMULADO_ESTIMACION = CANTIDAD_ACUMULADA_ESTIMACION,
  21.                              @CANTIDAD_FALTANTE = CANTIDAD_FALTANTE
  22.                              WHERE id_resumen_generador=@ID_RESUMEN_GENERADOR
  23.            
  24. COMMIT
  25. END TRY
  26. BEGIN CATCH
  27.     ROLLBACK
  28.     PRINT error_message()
  29. END CATCH
  30.  
  31.  
  32. SELECT * FROM estimaciones
  33. SELECT * FROM resumen_generador
  34. SELECT @ACUMULADO_ESTIMACION  = SUM(b.CANTIDAD_ESTIMACION)
  35. FROM resumen_generador  a CROSS JOIN resumen_generador  b
  36. WHERE (b.id_resumen_generador <= a.id_resumen_generador AND A.id_concepto=4 )GROUP BY a.id_resumen_generador ,a.cantidad_estimacion ORDER BY a.id_resumen_generador ,a.cantidad_estimacion

Última edición por gnzsoloyo; 20/05/2013 a las 20:00 Razón: SQL sin etiquetar. USAR HIGHLIGHT "SQL".