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 ...
随机推荐
- linux popen()函数使用
默认管道只能处理标准输出,不能处理标准错误输出 所以在popen()函数中运行的命令若有标准错误输出,调用者无法捕获 解决办法: 1.将标准错误输出重定向到标准输出2>&1,这样调用者能 ...
- C语言编程中pid, tid以及真实pid的关系(转)
add by zhj: 下面是我对pid,tgid,ppid的个人理解 对于ubuntu14.04操作系统,可以在/usr/src/linux-headers-4.4.0-31/include/lin ...
- module_init 内核调用过程
内核版本:linux_2.6.22.6 入口源文件: init.h
- react native touchable
<Button style={{marginTop: 30}} onPress={() => { Alert.alert("你点击了按钮!"); }} onPressI ...
- gitlab+jenkins多项目,多依赖,继承等上下级项目关系的自动部署
案例: 现有三个项目,Common,entity,serviceAPIentity依赖于Common,serviceAPI依赖于entity,也就是说common的下级项目是entity,而entit ...
- 简单好用的计算器:bc
1.简单好用的计算器:bc (1)参数: (2)实例: 执行浮点运算和一些高级函数 设定小数精度(数值范围) 进制转换 执行结果为:11000000,这是用bc将十进制转换成二进制 计算平方和平方根:
- FTP文件传输
FTP项目作业要求:1.用户加密认证2.允许同时多用户登录3.每个用户有自己的家目录,且只能访问自己的家目录4.对用户进行磁盘配额,每个用户的可用空间不同5.允许用户在ftp server上随意切换目 ...
- ul+li水平居中的几种方法
一.posotion:relative; 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF- ...
- [转]C++编译链接过程详解
C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接.编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程.链接是把目标文件.操作 ...
- Scala之隐式转换
概述 简单说,隐式转换就是:当Scala编译器进行类型匹配时,如果找不到合适的候选,那么隐式转化提供了另外一种途径来告诉编译器如何将当前的类型转换成预期类型. 隐式转换有四种常见的使用场景: 将某一类 ...