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 ...
随机推荐
- zTree插件之单选下拉菜单代码
<!--ztree树结构--> <link rel="stylesheet" type="text/css" href="asset ...
- 助手系列之连接mysql数据库
import MySQLdbdef main(): try: conn=MySQLdb.connect(host='127.0.0.1',user='root',passwd='pass',db='a ...
- Plextor 浦科特M7VC性能
浦科特一出TLC的SSD,立刻就受到了人们的关注,网上铺天盖地的评测.看了评测感觉不错,于是买了一块来用. 自己测试,似乎和网上的结果差异挺大的. 这是我自己测试的结果.(测试平台为:I7-5820K ...
- ECStore在Win环境下如何运行CMD命令
大多数程序员使用windows开发环境来做ECStore二次开发,经常需要使用 ECStore自带的cmd命令进行一些系统操作,如清除缓存(cacheclean),升级程序(update),创建新的a ...
- Azure Table storage 之改进DynamicTableEntity类为其添加动态语言扩展
在之前的一篇文章中提到,storage类库中包含一个可以用来动态获取Azure table storage 表结构的类-DynamicTableEntity. 我们可以通过这个类,我们无需为每一个表提 ...
- TTL
TTL(Time To Live )是IP协议包中的一个值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃.有很多原因使包在一定时间内不能被传递到目的地.解决方法就是在一段时 间后丢弃这个包,然后 ...
- visual studio 引用lib
方法1: 要具有lib文件和.h文件 1.加入语句 #pragma comment(lib, 'C:\\test\\Debug\\test.lib' 2.项目右键-〉属性-〉c++ -〉常规-〉附加包 ...
- R----dplyr包介绍学习
dplyr包:plyr包的替代者,专门面对数据框,将ddplyr转变为更易用的接口 %>%来自dplyr包的管道函数,其作用是将前一步的结果直接传参给下一步的函数,从而省略了中间的赋值步骤,可以 ...
- 【转】对硬盘进行分区时,GPT和MBR区别。
在Windows 8或8.1中设置新磁盘时,系统会询问你是想要使用MBR还是GPT分区.GPT是一种新的标准,并在逐渐取代MBR. GPT带来了很多新特性,但MBR仍然拥有最好的兼容性.GPT并不是W ...
- Windows Internals学习笔记(八)IO系统
参考资料: 1. <Windows Internals> 知识点: ● 当一个进