sqlserver_oracle_mysql定时执行任务的方法备忘.doc
文本预览下载声明
--mysql/*开启event_scheduler,也可以设置为on*/set global event_scheduler =1;/*创建简单的任务,每分钟执行一次,从一个表取数据插入到另一个表,也可以定时取,可以参看下面文档,此处为简单例子*/CREATE EVENT MyEventON SCHEDULE EVERY 1 MINUTEDOINSERT INTO list_test (字段1,字段1,字段1,字段1,字段1) select 字段1,字段1,字段1,字段1,字段1 from 表2 where id = 510;/*每天固定时间执行*/CREATE EVENT EVENT_ADD_FOR20_ENOUGHON SCHEDULE EVERY 1 DAYSTARTS TIMESTAMP 2009-12-18 02:58:00/×MYSQL注意时区设置,默认非中国时区×/DOSQL语句
---sqlserver
◆1、管理-SQL Server代理-作业(按鼠标右键)-新建作业-
◆2、新建作业属性(常规)-名称[自定义本次作业的名称]-启用的方框内是勾号-
分类处可选择也可用默认的[未分类(本地)]-所有者默认为登录SQL Server用户[也可选其它的登录]-
描述[填写本次工作详细描述内容];
[ 创建作业分类的步骤:
SQL Server代理-作业-右键选所有任务-添加、修改、删除 ]
◆3、新建作业属性(步骤)-新建-步骤名[自定义第一步骤名称]-类型[Transact-SQL(TSQL)脚本]-
数据库[要操作的数据库]-命令
[如果是简单的SQL直接写进去即可,也可用打开按钮输入一个已写好的*.sql文件
如果要执行存储过程,填
exec p_procedure_name v_parameter1,[ v_parameter2…v_parameterN]
-确定
(如果有多个步骤,可以再次调用下面的新建按钮;也可以对已有的多个步骤插入、编辑、删除);
◆4、建作业属性(调度)-新建调度-名称[自定义调度名称]-启用的方框内是勾号-调度-反复出现-
更改[调度时间表]-确定
(如果只要保存此作业,不要定时做可以把启用的方框内是勾号去掉);
◆5、建作业属性(通知)-用默认的通知方法就好[当作业失败时,写入Windows应用程序系统日志] -确定。
跟作业执行相关的一些SQL Server知识:
SQLSERVERAGENT服务必须正常运行,启动它的NT登录用户要跟启动SQL Server数据库的NT登录用户一致。
点作业右键可以查看作业执行的历史记录情况,也可以立即启动作业和停止作业。
---oracle
Oracle数据库的Jobs创建语句如下:
begin
sys.dbms_job.submit(job=:job,
what=proc_yw;,
next_date=to_date(13-11-200714:00:00,dd-mm-yyyyhh24:mi:ss),
interval=trunc(sysdate)+1+14/24);
commit;--mysql/*开启event_scheduler,也可以设置为on*/set global event_scheduler =1;/*创建简单的任务,每分钟执行一次,从一个表取数据插入到另一个表,也可以定时取,可以参看下面文档,此处为简单例子*/CREATE EVENT MyEventON SCHEDULE EVERY 1 MINUTEDOINSERT INTO list_test (字段1,字段1,字段1,字段1,字段1) select 字段1,字段1,字段1,字段1,字段1 from 表2 where id = 510;/*每天固定时间执行*/CREATE EVENT EVENT_ADD_FOR20_ENOUGHON SCHEDULE EVERY 1 DAYSTARTS TIMESTAMP 2009-12-18 02:58:00/×MYSQL注意时区设置,默认非中国时区×/DOSQL语句
---sqlserver
◆1、管理-SQL Server代理-作业(按鼠标右键)-新建作业-
◆2、新建作业属性(常规)-名称[自定义本次作业的名称]-启用的方框内是勾号-
分类处可选择也可用默认的[未分类(本地)]-所有者默认为登录SQL Server用
显示全部