mysql代码不熟_mysql存储过程的错误,语法不熟,找了好久没找到错误。。。
CREATEPROCEDUREupdate_pointer()begin/*done為1執行異常,停止執行*/DECLAREDoneINTDEFAULT0;DECLAREnowtimeINT;DECLAREyuefloat;DECLAREuidint;DECLAREyqmoneyfloat;DECLAREsummone...
CREATE PROCEDURE update_pointer()begin/*done為1執行異常,停止執行*/DECLARE Done INT DEFAULT 0;DECLARE nowtime INT;DECLARE yue float;DECLARE uid int;DECLARE yqmoney float;DECLARE summoney float;DECLARE overtime INT;DECLARE hyue float;/*SET nowtime=current_time();*//* 聲明游標 */DECLARE rs CURSOR FOR SELECT id,money,username,htime,overduetime FROM zhangdan WHERE paystatus!=1;/* 異常處理 */DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1;/* 打開游標 */OPEN rs;FETCH NEXT FROM rs INTO nowtime,yue,uid,yqmoney,summoney,overtime,hyue;/* 遍歷數據表 */REPEATIF NOT DoneTHENSET nowtime=current_time();IF nowtime >= htimeTHENSELECT money into yue FROM pmw_member where pmw_member.username=username;SELECT id into uid FROM pmw_member where pmw_member.username=username;SET yqmoney = convert((ceil(overduetime/(24*60*60))*0.01),2);SET summoney = money + yqmoney;IF yue < summoneyTHENSET overtime = nowtime-htime;UPDATE zhangdan SET overduetime = overtime WHERE zhangdan.id = id;ELSESET hyue = yue-summoney;UPDATE pmw_member SET pmw_member.money = hyue WHERE pmw_member.username = username;UPDATE zhangdan SET paystatus = 1 WHERE zhangdan.id = id;INSERT INTO `pmw_money` (`username`, `uid`, `title`, `money`, `leixing`, `posttime`, `pid`, `hkjzrq`, `yqlx`, `payorderid`) VALUES ('username', 'uid', '還款', 'money', '支出', 'nowtime', 'pid','htime','yqmoney','goodsorderid');END IF;END IF;END IF;FETCH NEXT FROM rs INTO nowtime,yue,uid,yqmoney,summoney,overtime,hyue;UNTIL Done END REPEAT;/* 關閉游標 */CLOSE rs;end
展開
總結
以上是生活随笔為你收集整理的mysql代码不熟_mysql存储过程的错误,语法不熟,找了好久没找到错误。。。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: putty保存用户名和密码_社保局官网搬
- 下一篇: android studio 2.3 i