分享

第一个存储过程

 个人资料8912 2014-10-29
DELIMITER //
DROP PROCEDURE IF EXISTS update_hit//
CREATE PROCEDURE update_hit()  
BEGIN  
    /* 定义变量一 */  
    DECLARE  _done int default 0;  
    DECLARE a1 int;  
    DECLARE a4 datetime;  
    DECLARE a2 VARCHAR(200) character set utf8;  
    DECLARE a3 Bigint(32);
    DECLARE description VARCHAR(200)  character set utf8;  
    /* 定义光标 */  
    DECLARE _Cur CURSOR FOR  
            SELECT product_id,trophy_name,user_id,hit_time FROM hit_trophy_tab ;
      
      
    DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET _done = 1;#错误定义,标记循环结束  
      
    /* 打开光标 */  
    OPEN _Cur;  
         /* 循环执行 */  
         REPEAT  
            FETCH _Cur INTO a1, a2, a3, a4;  
            IF NOT _done THEN
                set description=REPLACE("参与了门店抽奖活动,并获得奖品【%s】",'%s',a2);
                INSERT INTO merchant_event(`merchant_id`,`user_mac`,`subtype_id`,`description`,`added_at`) VALUES(a1,a3,4,description,unix_timestamp(a4));
            END IF;  
         UNTIL _done END REPEAT; #当_done=1时退出被循  
    /*关闭光标*/  
    CLOSE _Cur;  
END//

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多