mysql存储过程语法 if_mysql存储过程语法错误

麻烦帮帮看看,这个存储过程哪里有错误,就是过不了YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'DECLARErs_cu...

麻烦帮帮看看,这个存储过程哪里有错误,就是过不了

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE rs_cursor CURSOR FOR

SELECT wl.betid betid ,wl.username username' at line 14

-------------------------------------------------------------------------------------------------------------------------------------

DELIMITER $$

DROP PROCEDURE

IF EXISTS PROC_Settlement_EURO$$

CREATE PROCEDURE PROC_Settlement_EURO (kithe VARCHAR(20))

BEGIN

DECLARE _betid INT ;

DECLARE _userName VARCHAR (20) ;

DECLARE _period VARCHAR (20) ;

DECLARE _account double;

DECLARE_datetime datetime;

DECLARE _chechout INT;

DECLARE _RErate double;

DECLARE addmoney double;

DECLARE done INT ;

DECLARE flag INT;

SET flag=0;

DECLARE rs_cursor CURSOR FOR

SELECT wl.betid betid ,wl.username username,wl.Period Period,wl.account account,wl.datetime datetime,wl.chechout chechout,ub.RErate RErate

FROM winbetlist wl

LEFT JOIN user_bet ub ON wl.betid=ub.betId AND wl.username=ub.UserName

WHERE wl.chechout=0 AND wl.Period=kithe;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1 ;

OPEN rs_cursor ;

cursor_loop : LOOP

FETCH rs_cursor INTO _betid, _userName, _period,_account, _datetime,_chechout,_RErate;

IF done = 1

THEN

LEAVE cursor_loop ;

END IF ;

SET addmoney=ROUND(_account/_RErate,3);

#注单表更新

UPDATE user_bet_checkout SET Status=1,winnerslosers=_account WHERE Period=kithe and UserName=_userName and betId=_betid;

#用户账户更新(发奖)

UPDATE user_change SET CashAmount=CashAmount+addmoney,CreditAmount=CreditAmount+addmoney WHERE UserName=_userName;

#中奖表记录更新为已结算

UPDATE winbetlist SET chechout=1 where Period=kithe and UserName=_userName and betId=_betid;

#标记本次有结算

SET flag=1;

END LOOP cursor_loop ;

CLOSE rs_cursor ;

IF flag=0 THEN

#没有未结算注单,更新user_bet_checkout

UPDATE user_bet_checkout SET Status=1 where Period=kithe;

END IF;

#更新lottery_record为结算状态

UPDATE lottery_record SET checkOut=1,checkouttime=NOW() where Period=kithe;

END $$

DELIMITER;

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值