mysql 记录一次实际业务中使用到存储过程、游标

需求

有一张表,字段有
Time,ExchangeID,InstrumentID,ClosePrice,PreClosePrice……
其中Time,ExchangeID,InstrumentID作为复合主键;
需要根据前一天的ClosePrice更新当天PreClosePrice;
这里有三个类似PreClosePrice的字段需要更新;

思路

使用存储过程完成,选出PreClosePrice字段为空的记录,使用游标遍历每一条记录,查询该记录对应的前一天记录中的ClosePrice的值x,再更新当前记录的PreClosePrice值为x;

实现


DROP PROCEDURE IF EXISTS update_KlineDayTab; 
CREATE PROCEDURE update_KlineDayTab()
    BEGIN
        DECLARE n INT DEFAULT 0;
        DECLARE total INT;
        DECLARE done INT DEFAULT FALSE;
        DECLARE vTime TIMESTAMP;
        DECLARE vExchangeID VARCHAR(8);
        DECLARE vInstrumentID VARCHAR(10);
        DECLARE vPreClosePrice DECIMAL;
        DECLARE vPreSettlementPrice DECIMAL;
        DECLARE vPreOpenInterest INT;
        DECLARE tPreClosePrice DECIMAL;
        DECLARE tPreSettlementPrice DECIMAL;
        DECLAR
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值