码迷,mamicode.com
首页 > 数据库 > 详细

Navicat Premium创建MySQL存储过程

时间:2018-07-17 12:34:25      阅读:3049      评论:0      收藏:0      [点我收藏+]

标签:continue   ack   mysql   str   回滚   eal   back   bsp   pmon   

1、使用Navicat Premium打开创建函数向导,操作:连接名——数据库——函数——新建函数

技术分享图片

2、选择过程——输入存储过程参数——完成(这一步可以不填写参数,编写存储过程代码的时候设置参数)

技术分享图片技术分享图片

3、按照要求完成存储过程代码编写

 1 BEGIN
 2     DECLARE t_error INTEGER DEFAULT 0;  
 3     DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1;
 4   # 保证数据一致性 开启事务
 5     START TRANSACTION;
 6         # 获取需同步数据的时间节点(3个月前的第一天)
 7         # 即当前日期 2018-07-10  @upmonth 日期 2018-04-01
 8         SET @upmonth= DATE_ADD(CURDATE() - DAY (CURDATE()) + 1, INTERVAL - 3 MONTH);
 9         # 迁移数据语句
10         SET @sqlstr=CONCAT(INSERT INTO fd_aseet_record_back_3_6 
11     SELECT * FROM fd_asset_record WHERE type in (3, 6) AND calendar_date < ?);
12         # 删除数据语句
13         SET @delsqlstr=CONCAT(DELETE FROM fd_asset_record WHERE type in (3, 6) AND calendar_date < ?);
14         #执行数据迁移
15         PREPARE _fddatamt FROM @sqlstr;
16         EXECUTE _fddatamt USING @upmonth;
17         DEALLOCATE PREPARE _fddatamt;
18         #执行迁移后的数据删除
19         PREPARE _fddatadel FROM @delsqlstr;
20         EXECUTE _fddatadel USING @upmonth;
21         DEALLOCATE PREPARE _fddatadel;
22     IF t_error = 1 THEN  
23      ROLLBACK;    #语句异常-回滚
24     ELSE  
25      COMMIT;    #提交事务
26     END IF;  
27 END

4、保存——输入存储过程名——确定
  技术分享图片

5、选择存储过程名——运行函数——查看结果

技术分享图片

技术分享图片

 

Navicat Premium创建MySQL存储过程

标签:continue   ack   mysql   str   回滚   eal   back   bsp   pmon   

原文地址:https://www.cnblogs.com/lbxx/p/9322652.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!