mysql使用navicat编写调用存储过程
在Navicat里面,找到函数,右键,新建函数,选择过程,如果有参数就填写函数,如果没有就直接点击完成
在BEGIN......END中间编写要执行的sql语句,例如下面存储过程取名为pro_data_bak:
BEGIN
/*把rd01_device_callback_data 2天前的数据备份到rd01_device_callback_data_bak*/
insert into rd01_device_callback_data_bak
(
id,
imei,
travelid,
gps_time,
receive_time,
transmit_time,
altitude,
speed,
latitude,
longitude,
course,
pdop,
satnum,
alarm_type0,
alarm_name0,
alarm_type1,
alarm_name1,
alarm_photo_linkurl,
startup_time,
shudown_time,
is_used,
create_time,
create_by,
update_time,
update_by
)SELECT
id id,
imei imei,
travelid travelId,
gps_time gpsTime,
receive_time receiveTime,
transmit_time transmitTime,
altitude altitude,
speed speed,
latitude
latitude,
longitude longitude,
course course,
pdop pdop,
satnum satNum,
alarm_type0 alarmType0,
alarm_name0 alarmName0,
alarm_type1 alarmType1,
alarm_name1 alarmName1,
alarm_photo_linkurl alarmPhotoLinkUrl,
startup_time startUpTime,
shudown_time shudownTime,
is_used isUsed,
create_time createTime,
create_by createPerson,
update_time updateTime,
update_by updatePerson
FROM
rd01_device_callback_data
WHERE
TO_DAYS(NOW()) - TO_DAYS(create_time) > 1;
/*删除rd01_device_callback_data 2天以前的数据*/
DELETE
FROM
rd01_device_callback_data
WHERE
TO_DAYS(NOW()) - TO_DAYS(create_time) > 1;
/*把rd02_device_info 2天前的数据备份到rd02_device_info_bak*/
insert into rd02_device_info_bak
(
id,
message_id,
message_property,
imei,
serial_number,
message_split,
message_body,
media_id,
check_code,
create_time,
create_person,
update_time,
update_person,
is_used
)SELECT
id id,
message_id
messageId,
message_property messageProperty,
imei imei,
serial_number
serialNumber,
message_split messageSplit,
message_body messageBody,
media_id meidiaId,
check_code checkCode,
create_time createTime,
create_person createPerson,
update_time updateTime,
update_person
updatePerson,
is_used isUsed
FROM
rd02_device_info
WHERE
TO_DAYS(NOW()) -
TO_DAYS(create_time) > 1;
/*删除rd02_device_info 2天前的数据*/
DELETE
FROM
rd02_device_info
WHERE
TO_DAYS(NOW()) -
TO_DAYS(create_time) > 1; /*把rd_track_info 7天前的数据备份到rd_track_info_bak*/
insert into rd_track_info_bak
(
id,
license_plate,
device_id,
address_name,
altitude,
speed,
driving_direction,
longitude,
latitude,
gps,
back_time,
road_name,
road_code,
road_level,
road_speed_limit,
back_seq_no,
create_time,
del_flag,
alarm_type0,
alarm_name0,
alarm_type1,
alarm_name1,
alarm_photo_linkurl,
gps_time
)SELECT
id id,
license_plate licensePlate,
device_id deviceId,
address_name addressName,
altitude altitude,
speed speed,
driving_direction drivingDirection,
longitude longitude,
latitude latitude,
gps gps,
back_time backTime,
road_name roadName,
road_code roadCode,
road_level roadLevel,
road_speed_limit roadSpeedLimit,
back_seq_no backSeqNo,
create_time createTime,
del_flag delFlag,
alarm_type0 alarmType0,
alarm_name0 alarmName0,
alarm_type1 alarmType1,
alarm_name1 alarmName1,
alarm_photo_linkurl alarmPhotoLinkurl,
gps_time gpsTime
FROM
rd_track_info
WHERE
TO_DAYS(NOW()) - TO_DAYS(gps_time) > 7;
/*删除rd_track_info 7天前的数据*/
DELETE
FROM
rd_track_info
WHERE
TO_DAYS(NOW()) - TO_DAYS(gps_time) > 7;
END
然后在xml里面引用,statementType="CALLABLE"表示调用存储过程。
<mapper namespace="com.ra.truck.mapper.DataBakMapper">
<select id="callProcedureOfDataBak" statementType="CALLABLE">
{call pro_data_bak()}
</select>
</mapper>
通过java定时调度调用这个存储过程就OK了
mysql使用navicat编写调用存储过程的更多相关文章
- MySQL学习笔记:调用存储过程或函数报1418错误
问题 MySQL开启bin-log后,调用存储过程或者函数以及触发器时,会出现错误号为1418的错误: ERROR 1418 (HY000): This function has none of DE ...
- 如何在MySQL客户端Navicat 上创建存储过程返回结果集
下述引用自<MySQL 必知必会> MySQL命令行客户机的分隔符 如果你使用的是MySQL命令行实用程序,应该仔细阅读此说明.默认的MySQL语句分隔符为;(正如你已经在迄今为止所使用的 ...
- JDBC基础篇(MYSQL)——使用CallabeStatement调用存储过程
注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接: package day04_callable; import java.sql.CallableStatement; import ...
- mysql数据库之事务与存储过程
事务 什么是事务? 事务是指一些SQL语句的集合,这些语句同时执行成功完成某项功能 事务的CAID特性: 原子性:一个事务的执行是整体性的,要么内部所有语句都执行成功,要么一个都别想成功 一致性:事务 ...
- MySQL存储过程和自定义函数、Navicat for mysql、创建存储过程和函数、调用存储过程和函数的区别
1 MySQL存储过程和函数 过程和函数,它们被编译后保存在数据库中,称为持久性存储模块(Persistent Stored Module,PSM),可以反复调用,运行速度快. 1.1 存储过程 存储 ...
- mysql高级:触发器、事务、存储过程、调用存储过程
一.触发器 二.pymysql事务测试 三.存储过程 四.pymysql调用存储过程 一.触发器 在某个时间发生了某个事件时 会自动触发一段sql语句 create trigger cmd_ins ...
- 020、MySQL创建一个存储过程,显示存储过程,调用存储过程,删除存储过程
一.我们创建一个MySQL储存过程,在SQL代码区写入以下内容,并执行就可以了 #编写一个存储过程 CREATE PROCEDURE ShowDate ( ) BEGIN #输出当前时间 SELECT ...
- MySQL 存储过程实例 与 ibatis/mybatis/hibernate/jdbc 如何调用存储过程
虽然MySQL的存储过程,一般情况下,是不会使用到的,但是在一些特殊场景中,还是有需求的.最近遇到一个sql server向mysql迁移的项目,有一些sql server的存储过程需要向mysql迁 ...
- iBatis调用存储过程以及MySQL创建存储过程
首先是MySQL中创建存储过程的SQL -- 列出全部的存储过程 SHOW PROCEDURE STATUS; -- 查看一个已存在的存储过程的创建语句,假设此存储过程不存在,会提示SQL错误(130 ...
随机推荐
- 预备作业3:Linux安装及命令入门
linux系统的安装 1.虚拟机: 首先是VirtualBox5.2.7的安装,这个按照老师给的基于VirtualBox安装Ubuntu图文教程一步步来很快就能安好,也没有遇到无法选择64-bit的问 ...
- SQL查询优化:详解SQL Server非聚集索引(转载)
本文是转载,原文地址 http://tech.it168.com/a2011/1228/1295/000001295176.shtml 在SQL SERVER中,非聚集索引其实可以看作是一个含有聚集索 ...
- swift 灯光的打开与关闭
func lightBtnAction(sender: UIButton){ let device = AVCaptureDevice.default(for:.video) if device == ...
- 'react-scripts' is not recognized as an internal or external command
React项目在执行npm start的时候报下面的错误: 解决办法:把项目目录中node_modules文件夹删掉,重新npm install一下,然后再执行npm start
- vue-cli 3.x脚手架配置并使用vux
https://blog.csdn.net/Honnyee/article/details/82181620
- 进程理论 阻塞非阻塞 同步异步 I/O操作
1.什么是进程 进程指的是一个正在运行的程序,进程是用来描述程序执行过程的虚拟概念 进程的概念起源于操作系统,进程是操作系统最核心的概念,操作系统其它所有的概念都是围绕进程来的 2.操作系统 操作系统 ...
- [vue]webpack3最佳实践篇
vue-render: https://www.cnblogs.com/iiiiiher/articles/9465311.html es6模块的导入导出 https://www.cnblogs.co ...
- [LeetCode] 339. Nested List Weight Sum_Easy tag:DFS
Given a nested list of integers, return the sum of all integers in the list weighted by their depth. ...
- componentsSeparatedByString 的注意事项
componentsSeparatedByString 两种情景 1. 没有分割符也生成一个数组,元素就是整个字符串本身,那你就需要判断“”这种字符串. 2. 分割的元素如果是相同的字符串,指向的是同 ...
- Elasticsearch5.x Head插件安装
在5.0版本中不支持直接安装head插件,需要启动一个服务. 由于head插件本质上还是一个nodejs的工程,因此需要安装node,使用npm来安装依赖的包.(npm可以理解为maven) 1.安装 ...