Navicat Premium创建MySQL存储过程

时间:2023-03-09 20:10:50
Navicat Premium创建MySQL存储过程

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

Navicat Premium创建MySQL存储过程

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

Navicat Premium创建MySQL存储过程Navicat Premium创建MySQL存储过程

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

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

4、保存——输入存储过程名——确定
  Navicat Premium创建MySQL存储过程

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

Navicat Premium创建MySQL存储过程

Navicat Premium创建MySQL存储过程