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存储过程的错误,语法不熟,找了好久没找到错误。。。相关推荐

  1. mysql的游标处理_MySQL存储过程 游标 错误处理的示例代码

    MySQL存储过程 游标 错误处理的示例代码--set_account_data 重新生成用户编号 BEGIN DECLARE temp_id INT(8); /*用户id*/ DECLARE tem ...

  2. mysql游标 原理解说_mysql存储过程之游标(DECLARE)原理与用法详解

    本文实例讲述了mysql存储过程之游标(DECLARE)原理与用法.分享给大家供大家参考,具体如下: 我们在处理存储过程中的结果集时,可以使用游标,因为游标允许我们迭代查询返回的一组行,并相应地处理每 ...

  3. mysql 多个游标_mysql 存储过程中使用多游标

    mysql的存储过程可以很方便使用游标来实现一些功能,存储过程的写法大致如下: 先创建一张表,插入一些测试数据:DROP TABLE IF EXISTS netingcn_proc_test; CRE ...

  4. mysql 为游标赋值_mysql 存储过程之游标

    游标按我的理解就是用在sql编程中对查询结果集的解析,类比jdbc中的resultset对象.FETCH 一行游标指针就往下面移动一行,直到所有行被遍历完成. 游标的使用分为4步: 1.定义游标,指定 ...

  5. mysql 代码怎么优化_MySQL 性能优化的简略办法

    mysql 性能优化的简单办法 优化数据库最核心的实际上就是配置参数的调整.本文通过一个简单的参数调整,实现了对拥有一个几十万行表的 group by 优化的例子.通过这个简单的调整,数据库性能有了突 ...

  6. mysql的游标处理_mysql 存储过程、游标及逐行处理的配合使用

    1. 数据准备 +----+------+--------+ | id | name | price1 | +----+------+--------+ | 1 | 大米 | 5 | | 2 | 鸡蛋 ...

  7. mysql 自定义函数 事务_MySQL存储过程、触发器、自定义函数、事务

    1.存储过程 MySQL中存储过程的参数中有IN.OUT.INOUT类型,但是函数的参数只能是IN类型的. "in" 参数:跟 C 语言的函数参数的值传递类似, MySQL 存储过 ...

  8. mysql 代码怎么优化_Mysql性能优化

    1,SQL语句中in包含的值不应过多 Mysql对于in做了相应的优化,即将in中的常量全部存储在一个数组里面,而这个数组是排好序的.但是对于数值较多,产生的消耗也比较大的: 例如: select i ...

  9. mysql过程的写法_mysql存储过程的写法

    可以使用 CREATE PROCEDURE 语句创建存储过程. 数据库存储过程语法格式如下:CREATE PROCEDURE 过程名([[IN|OUT|INOUT] 参数名 数据类型[,[IN|OUT ...

最新文章

  1. linux的备份和恢复命令,Linux基本命令——备份与恢复文档
  2. 企业壳的反调试及Hook检测分析
  3. 关闭注册表编辑器,重新启动计算机后生效。这样资源管理器重启后就不会自动重启了。...
  4. MongoDB数据库基本操作笔记
  5. Maven parent.relativePath
  6. 10.6-全栈Java笔记:常见流详解(四)
  7. ERP商品管理业务逻辑封装(三十四)
  8. 吃糖果hdu2502
  9. java序列化,看这篇就够了
  10. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 大型软件系统客户端数据同步的问题解决...
  11. 临时的实验课记录+研究的代码+计算机文档目录管理
  12. pm2开机启动项目脚本
  13. Java当中多个pdf文件合并为一个
  14. 林彪-怎样当好一名师长
  15. clamped b_spline
  16. Java微信公众平台开发_03_消息管理之被动回复消息
  17. Oracle 内连接、左右连接、全外连接
  18. GetImageBuffer
  19. ECSHOP系统,数据库表名称、结构
  20. 【探究网络安全与网络安全文化及网络安全防范】计算机网络安全现状

热门文章

  1. torch.randn与torch.rand的区别
  2. java-多线程知识
  3. Leetcode--283. 移动零
  4. new arraylist内存_如何避免内部类中的内存泄漏
  5. 小程序 pagescrollto_微信小程序学习笔记(三)-- 首页及详情页开发
  6. github上只下载部分文件
  7. JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)
  8. JavaSE——面向对象进阶(封装、this、static、代码块、包、权限修饰符、main方法详解)
  9. CNN分类,ResNet V1 ,ResNet V2,ResNeXt,DenseNet
  10. tensorflow权重初始化