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 ...
随机推荐
- java web指定主页
正常情况下主页是在web.xml里面配置欢迎页面,可以加个过滤器重定向就可以: public void doFilter(ServletRequest req, ServletResponse res ...
- 通过pytty工具代理连接数据库mysql(绕开数据库白名单限制)
1.下载putty在本机,不用安装. 2.数据库地址及端口,输入服务器账户.密码登录. 输入数据库地址.端口及本机映射端口 输入服务器账户.密码登录 然后本地新建数据库连接就可以了
- python QT 编程之路
pyQT4 的Wheel 下载 https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyqt4 python发送GET 或者 POST请求 https://www ...
- 用CSS来画空心三角形的方法
画这里三角形的方法: 用CSS来实现:整个弹框的ID是#favoriteOptionMenus,对于#favoriteOptionMenus这个元素设置:before和:after的样式,让:befo ...
- SQL优化之踩过的坑【一】
正看资料看的过瘾,突然收到报警,说服务器负载太高,好吧,登录服务器看看,我擦嘞,还能不能愉快的玩耍了?下面是当时的负载情况 看见mysql使用cpu已经到了2000,io没有等待.说明应该没有大的临时 ...
- gitlab+jenkins多项目,多依赖,继承等上下级项目关系的自动部署
案例: 现有三个项目,Common,entity,serviceAPIentity依赖于Common,serviceAPI依赖于entity,也就是说common的下级项目是entity,而entit ...
- vue-preview的使用
使用vue-preview做图片缩率图1.安装 npm i vue-preview -S2.如果使用vue-cli生成的项目,需要修改webpack.base.conf.js文件中的loaders,添 ...
- Hive SQL测试
在spark的空表test上进行运算,注意结果差异: ,age)) as ages from test group by name;//空 ,age)) as ages from test group ...
- python进制转换及变量
.编译型语言和解释型语言的区别? 答: () 编译型语言:是将所有源码编译完成二进制后才进行输出,运行快,执行效率高,时间周期长. ()解释型语言:逐行编译输出,执行效率相对慢,开发效率高, .Pyt ...
- PHP中parent、this、self和static的区别
参考: http://www.cnblogs.com/devcjq/articles/2424738.html http://www.cnblogs.com/alsf/p/9621002.html h ...