zoukankan      html  css  js  c++  java
  • mysql 存储过程(proceduce)查询一个表的结果插入另外一个表

    公司的时间戳存证业务,对发版过程中间数据处理需要用到存储过程。对此做一个简短记录,以免遗忘。

    DROP procedure record_timestamp_deal ;
    
    ##创建存储过程
    create procedure record_timestamp_deal()
    
    begin
    
    declare tslogId varchar(50);
    declare done int default 0;
    
    # declare existence boolean ;
    
    ##从时间戳记录表中获取ID存入游标
    declare cur cursor for select id from time_stamp_log;
    
    ##异常处理
    declare continue handler for sqlstate '02000' set done = 1;
    
    open cur;
        ##取出游标值至变量中
        fetch next from cur into tslogId;
        
    repeat
        if not done then 
            #查询时间戳待记录id是否在时间戳待存证表
            if (select * from osv_timestamp_evi_prepare where timestampId = tslogId) is not null then
                ##不存在的记录写入待存证表
                insert into osv_timestamp_evi_prepare(timestampId,createTime) values(tslogId,now());
            end if;
        end if;
    
        ##重新抓取数据进入循环
        fetch next from cur into tslogId;
    
    ##结束循环
    until done end repeat;
    
    ##关闭游标
    close cur;
    
    end ;
    
    call record_timestamp_deal();
  • 相关阅读:
    img 的data-src 属性及懒加载
    try catch 用法
    input 的各种属性的验证 checkValidity兼容性
    表单提交的方法。
    通信原理
    计算机组成原理
    CREC 2017
    POJ 1201 Intervals
    HDU 3440 House Man
    poj 3169 Layout
  • 原文地址:https://www.cnblogs.com/HEWU10/p/6795391.html
Copyright © 2011-2022 走看看