| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- DROP PROCEDURE IF EXISTS `CALCCLEAN`;
- delimiter ;;
- CREATE PROCEDURE `CALCCLEAN`(IN `PCPID` INT)
- BEGIN-- 删除当期奖金
- DELETE
- FROM
- AR_BS_BONUS_103_CALC;
- DELETE
- FROM
- AR_BS_BONUS_103_TEST
- WHERE
- CALC_PERIOD_ID >= PCPID;-- 使用的奖金表
- DELETE
- FROM
- AR_CALC_BONUS_BS
- WHERE
- PERIOD_NUM >= PCPID;
- DELETE
- FROM
- AR_CALC_BONUS_BS_DETAIL
- WHERE
- PERIOD_NUM >= PCPID;-- 删除当期网体
- DELETE
- FROM
- AR_BS_BONUS_103_CALC_NET;
- DELETE
- FROM
- AR_BS_BONUS_103_TEST_NET
- WHERE
- CALC_PERIOD_ID >= PCPID;-- 删除拨出表
- DELETE
- FROM
- AR_CALC_BONUS_BS_STAT
- WHERE
- PERIOD_NUM >= PCPID;-- 删除明细表
- DELETE
- FROM
- AR_CALC_BONUS_BS_DETAIL_BONUS
- WHERE
- PERIOD_NUM >= PCPID;-- 删除日志
- DELETE
- FROM
- AR_CALC_BONUS_BS_DETAIL_GPV
- WHERE
- PERIOD_NUM >= PCPID;
- END
- ;;
- delimiter ;
- -- ----------------------------
- -- Procedure structure for CALCDELNET
- -- ----------------------------
- DROP PROCEDURE IF EXISTS `CALCDELNET`;
- delimiter ;;
- CREATE PROCEDURE `CALCDELNET`(IN `PLAYER` INT)
- BEGIN
- DECLARE
- FLAG INT DEFAULT 0;
- DECLARE
- MUSERID,
- MMAXUSERID,
- MINTRODUCERID VARCHAR ( 50 );
- /*DECLARE
- MGPV DECIMAL ( 10, 2 );
- DECLARE
- DN CURSOR FOR SELECT
- USER_ID
- FROM
- AR_BS_BONUS_103_CALC_NET
- WHERE
- LAYER = PLAYER
- AND USER_TYPE = 0;
- DECLARE
- CONTINUE HANDLER FOR NOT FOUND
- SET FLAG = 1;*/
- START TRANSACTION;-- 打开游标
- /*OPEN DN;-- 获取结果
- L2 :
- LOOP
- FETCH DN INTO MUSERID;
- IF
- FLAG = 1 THEN-- 当无法FETCH会触发HANDLER CONTINUE
- LEAVE L2;
-
- END IF;-- 查询需要删除会员的推荐人ID
- SELECT
- T.INTRODUCER_ID INTO MINTRODUCERID
- FROM
- AR_BS_BONUS_103_CALC_NET T
- WHERE
- T.USER_ID = MUSERID;-- 更改需要删除会员第一代的推荐人ID以及层数
- UPDATE AR_BS_BONUS_103_CALC_NET T
- SET T.INTRODUCER_ID = MINTRODUCERID,
- T.LAYER = T.LAYER - 1
- WHERE
- T.INTRODUCER_ID = MUSERID;-- 关闭游标
-
- END LOOP;
- CLOSE DN;*/
- UPDATE AR_BS_BONUS_103_CALC_NET
- SET DELETED = 1
- WHERE
- LAYER = PLAYER
- AND USER_TYPE = 0;
- UPDATE AR_BS_BONUS_103_CALC_NET T1
- INNER JOIN AR_BS_BONUS_103_CALC_NET T2
- ON T1.INTRODUCER_ID = T2.USER_ID AND T1.LAYER = PLAYER+1 AND T2.LAYER = PLAYER AND T2.USER_TYPE = 0
- SET T1.INTRODUCER_ID = T2.INTRODUCER_ID,T1.LAYER = PLAYER;
- DELETE
- FROM
- AR_BS_BONUS_103_CALC_NET
- WHERE
- LAYER = PLAYER
- AND USER_TYPE = 0
- AND DELETED = 1;
- COMMIT;
- END
- ;;
|