CALCTOTALGPV.sql 763 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. DROP PROCEDURE IF EXISTS `CALCTOTALGPV`;
  2. delimiter ;;
  3. CREATE PROCEDURE `CALCTOTALGPV`()
  4. BEGIN
  5. DECLARE
  6. MLAYER,
  7. MMINLAYER,
  8. MUSERTYPE INT DEFAULT 0;
  9. DECLARE
  10. MUSERID,
  11. MMAXUSERID VARCHAR ( 50 );
  12. DECLARE
  13. MGPV DECIMAL ( 10, 2 );
  14. SELECT
  15. MAX( LAYER ) INTO MLAYER
  16. FROM
  17. AR_BS_BONUS_103_CALC_NET
  18. WHERE
  19. GPV > 0;
  20. SELECT
  21. MIN( LAYER ) INTO MMINLAYER
  22. FROM
  23. AR_BS_BONUS_103_CALC_NET
  24. WHERE
  25. USER_TYPE = 30;
  26. UPDATE AR_BS_BONUS_103_CALC_NET T1
  27. INNER JOIN AR_BS_BONUS_103_CALC_NET T2 ON IFNULL( T1.INTRODUCER_ID, '0' ) = T2.USER_ID
  28. AND T1.USER_TYPE = 30
  29. AND T2.USER_TYPE = 30
  30. SET T1.INTRODUCER_ID30 = T2.USER_ID;
  31. WHILE
  32. MLAYER > MMINLAYER DO
  33. CALL CALCTOTALGPV_ ( MLAYER, MMINLAYER );
  34. SET MLAYER = MLAYER - 1;
  35. END WHILE;
  36. END
  37. ;;