麻烦帮帮看看,这个存储过程哪里有错误,就是过不了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;
展开