mysql命令行创建存储过程命令行定时执行sql语句
mysql -uroot -p show databases; use scm; show tables; show procedure status;
其他命令:
SHOW VARIABLES LIKE 'event_scheduler'; 看事件是否启动【用于定时执行时候检查】
SET GLOBAL event_scheduler = ON; 命令行开启事件【如果没有开启就手动命令开启】
SELECT HOST,USER,Event_priv FROM mysql.user; 本机权限
【执行存储过程】
call avgUpdatePice();
命令行创建存储过程执行日志表
/*============================*/
/* Table: 存储过程运行日志表结构 */
/*============================*/
create table pro_log
(
/* 日志编号,自动增长 */
pro_id int not null auto_increment,
/* 存储过程名字 */
pro_name varchar(20),
/* 存储过程执行产生的信息*/
pro_remark varchar(20),
/* 存储过程执行的时间 */
pro_date datetime,
/* 设置日志编号为主键 */
primary key (pro_id)
);
测试
insert into pro_log(pro_name,pro_remark,pro_date)
values ('avgUpdatePrice','','2015-03-09');
命令行创建存储过程
delimiter //
CREATE PROCEDURE avgUpdatePice()
BEGIN
DECLARE iCount INT DEFAULT 0;
create table avg_prices as
select goods_id,goods_type,goods_name,in_buy_price,ROUND(sum(in_total_price)/sum(in_amount),2) as 'junjia',NOW(),count(*) from scm.in_warehouse_detail
group by goods_id,goods_type,goods_name
order by goods_id,goods_type,goods_name;
select count(*) into iCount from goods g,avg_prices a
where g.goods_Id = a.goods_id
and g.goods_sel_price != a.junjia
and g.goods_buy_price != a.junjia;
if iCount > 0 then
update avg_prices a,goods g set g.goods_buy_price = a.junjia
where g.goods_Id = a.goods_id and g.goods_sel_price != a.junjia ;
end if;
insert into pro_log(pro_name,pro_remark,pro_date) values ('avgUpdatePice',iCount,NOW());
DROP TABLE IF EXISTS avg_prices;
END; // delimiter ;
测试【执行存储过程】
call avgUpdatePice();
命令行创建每日定时自动执行脚本
-----------------------------每天定时执行存储过程 在命令行里执行一次加入就可以了-------------------------------------------------------------------- CREATE EVENT course_avgUpdatePice
ON SCHEDULE EVERY 1 DAY STARTS '2016-04-21 21:30:00'
ON COMPLETION PRESERVE
ENABLE
DO
call avgUpdatePice();
mysql命令行创建存储过程命令行定时执行sql语句的更多相关文章
- SQlServer2008 之 定时执行sql语句作业的制定
1.打开[SQL Server Management Studio],在[对象资源管理器]列表中选择[SQL Server 代理]: 2.鼠标右击[SQL Server 代理],选择[启动(S)],如 ...
- SQL Server 定时执行SQL语句的方法
SQL SERVER 定时任务,你可以启动一下.不过要想更加直观的控制,直接写一个程序,定时执行你的存储过程. 1.设置“SQL Server 代理”(SQL Server Agent)服务随系统启动 ...
- Linux课程---5、常用文件命令和目录命令(创建文件命令)
Linux课程---5.常用文件命令和目录命令(创建文件命令) 一.总结 一句话总结: touch file1 1.管道符|有什么用? 将前一个命令的结果作为后一个命令的输入:比如查看文件前3行:ca ...
- C#创建windows服务并定时执行
一.创建window服务 1.新建项目-->选择Windows服务.默认生成文件包括Program.cs,Service1.cs 2.在Service1.cs添加如下代码: System.Tim ...
- linux创建定时任务,定时执行sql
终于弄清楚一个问题了.linux创建定时任务,定时执行sql,其中分为两个case. case-1 sql语句较少,因此直接在 shell脚本中 写sql语句.如下: [oracle@Oracle11 ...
- 如何用VS EF连接 Mysql,以及执行SQL语句 和存储过程?
VS2013, MySQL5.7.18 , MySQL5.7.14 执行SQL语句: ztp_user z = new ztp_user(); object[] obj = new object[] ...
- EF5中 执行 sql语句使用Database.ExecuteSqlCommand 返回影响的行数 ; EF5执行sql查询语句 Database.SqlQuery 带返回值
一: 执行sql语句,返回受影响的行数 在mysql里面,如果没有影响,那么返回行数为 -1 ,sqlserver 里面 还没有测试过 using (var ctx = new MyDbConte ...
- easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)
easyui datagrid 禁止选中行 没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...
- 解决乱码的方法是,在执行SQL语句之前,将MySQL以下三个系统参数设置为与服务器字符集character-set-server相同的字符集
character-set-server/default-character-set:服务器字符集,默认情况下所采用的. character-set-database:数据库字符集. characte ...
随机推荐
- DOM解析
1.xml可扩展标记语言(Extensible Makeup Language) 最简单的声明语法: <?xml version="1.0" ?> 用encoding属 ...
- SQLDMO知识总结
SQLDMO(SQL Distributed Management Objects) 参考手册:http://technet.microsoft.com/en-us/library/aa312550( ...
- yield return的作用
测试1: using UnityEngine; using System.Collections; public class test1 : MonoBehaviour { // Use this f ...
- windows 8.1无人值守安装
上个星期网上泄漏了微软最新的操作系统Windows 8.1,我便迫不及待的下载下来进行体验.发现其安装过程交互次数太多,太过漫长,遂研究了一下无人值守安装,现将成果记录如下. 一. 微软有专门的布署工 ...
- noi 2985 数字组合
题目链接: http://noi.openjudge.cn/ch0206/2985/ 2985:数字组合 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 有n个正 ...
- caffe ubuntu16安装报错和程序总结
我最近安装安装了老版本的caffe,安装过程真是两个字"想死",所以我的错误一般都是比较经典的. 我是使用cuda的版本,所以可能会出现undefined refference t ...
- Robots.txt 协议详解及使用说明
一.Robots.txt协议 Robots协议,也称为爬虫协议.机器人协议等,其全称为“网络爬虫排除标准(Robots Exclusion Protocol)”.网站通过Robots协议告诉搜索引擎哪 ...
- 两个有序数组中查找第K大数
题目:两个数组A.B,长度分别为m.n,即A(m).B(n),分别是递增数组.求第K大的数字. 方法一: 简单的办法,使用Merge Sort,首先将两个数组合并,然后在枚举查找.这个算法的时间复 ...
- NSTimer(定时器)
[_timer fire]; fire并不是启动一个定时器,只是执行一次定时器事件(触发一次定时器事件)而已; 注意:不影响定时器设置的时间,即,不影响之前设定的使用,定时器该怎么跑就怎么跑,fire ...
- boost 编译,windows平台
下载Boost及生成bjam.exe文件 到Google网站搜索下载boost_1.52版本库,下载完成后,解压到X:下,这个地址自己随便定义.在解压的文件中搜索build.bat文件,把它所在的目录 ...