`

定时执行存储过程

阅读更多

 

存储过程学习:http://www.111cn.net/tags.php/mysql%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B/

#查看event是否开启


mysql> show variables like '%sche%';

+---------------------------------------------------+---------+

| Variable_name                                     | Value   |

+---------------------------------------------------+---------+

| event_scheduler                                   | OFF     |

| performance_schema                                | OFF     |

| performance_schema_events_waits_history_long_size | 10000   |

| performance_schema_events_waits_history_size      | 10      |

| performance_schema_max_cond_classes               | 80      |

| performance_schema_max_cond_instances             | 1000    |

| performance_schema_max_file_classes               | 50      |

| performance_schema_max_file_handles               | 32768   |

| performance_schema_max_file_instances             | 10000   |

| performance_schema_max_mutex_classes              | 200     |

| performance_schema_max_mutex_instances            | 1000000 |

| performance_schema_max_rwlock_classes             | 30      |

| performance_schema_max_rwlock_instances           | 1000000 |

| performance_schema_max_table_handles              | 100000  |

| performance_schema_max_table_instances            | 50000   |

| performance_schema_max_thread_classes             | 50      |

| performance_schema_max_thread_instances           | 1000    |

+---------------------------------------------------+---------+

17 rows in set (0.00 sec)


#将事件计划开启


mysql>  set global event_scheduler = on;

Query OK, 0 rows affected (0.00 sec)


#创建表


mysql> create table test(

    -> id int primary key auto_increment,

    -> endtime timestamp default CURRENT_TIMESTAMP not null

    -> );

Query OK, 0 rows affected (0.03 sec)


#插入数据


mysql> insert into test values(null,null);

Query OK, 1 row affected (0.00 sec)


#查询数据是否插入


mysql> select * from test;

+----+---------------------+

| id | endtime             |

+----+---------------------+

|  1 | 2011-01-03 16:57:00 |

+----+---------------------+

1 row in set (0.00 sec)


#创建存储过程


mysql> delimiter //  


mysql> create procedure test_proc()


    -> begin


    -> update test set endtime=CURRENT_TIMESTAMP where id=1;


    -> end;


    -> //


#恢复分隔符为';'


mysql> delimiter ;


#创建event test_event,每隔30秒将执行存储过程test_proc,将当前时间更新到test表中id=1的记录的endtime字段中去.


create event if not exists test_event 

on schedule every 30 second 

on completion preserve

do call test_proc();


#一会儿后首次查看数据


mysql> select * from test;

+----+---------------------+

| id | endtime             |

+----+---------------------+

|  1 | 2011-01-03 17:00:19 |

+----+---------------------+

1 row in set (0.00 sec)


# 一分钟到一分半钟之内再次查看数据


mysql> select * from test;

+----+---------------------+

| id | endtime             |

+----+---------------------+

|  1 | 2011-01-03 17:01:19 |

+----+---------------------+


#这看看起来就像数据库中的触发器的作用很相似吧

-- 现在关闭事件任务


mysql> alter event test_event ON

    -> COMPLETION PRESERVE DISABLE;

Query OK, 0 rows affected (0.00 sec)


#select查看数据后,再过30秒后再查看数据,发现数据不再改变了

-- 事件的开启


mysql> alter event test_event ON

    -> COMPLETION PRESERVE ENABLE;

Query OK, 0 rows affected (0.00 sec)


#将事件计划关闭

 

mysql> set global event_scheduler = off;

Query OK, 0 rows affected (0.00 sec)


 

/*

注意到了么,这里还包含了三种mysql注释

从‘#’字符从行尾。

从/*序列到后面的*/序列

从‘-- ’序列到行尾。请注意‘-- ’(双破折号)注释风格要求第2个破折号后面至少跟一个空格符(例如空格、tab、换行符等等)。

*/

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Oracle定时执行存储过程

    Oracle 定时执行存储过程 oracle 是一个功能强大的关系型数据库管理系统,可以执行各种复杂的任务,其中包括定时执行存储过程。定时执行存储过程可以让 oracle 自动执行某些操作,而不需要人工干预。下面我们将详细...

    oracle定时执行存储过程.pdf

    ### Oracle定时执行存储过程知识点详解 #### 一、概述 在Oracle数据库中,定时执行存储过程是一项非常实用的功能,尤其适用于需要定期执行的任务,比如数据备份、数据清理、统计汇总等场景。通过设置定时任务,可以...

    sybase如何在Sybase ASE上定时调度一个存储过程

    Job Scheduler 是 Sybase ASE 中的一种机制,用于定时执行存储过程或其他任务。它可以帮助数据库管理员简化工作流程,提高工作效率。 其次,在安装和配置 Job Scheduler 之前,需要了解 Sybase ASE 的版本问题。...

    plsql创建存储过程并创建job定时任务执行-详细笔记文档总结

    * 每半年定时执行:`interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24` * 每年 1 月 1 日凌晨 1 点执行:`interval => ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24` 四、job 定时任务执行示例 下面是一个...

    启动SQL Server时自动执行存储过程

    SQL Server自动执行存储过程详解 在SQL Server中,自动执行存储过程是一种非常有用的功能,能够在服务器启动时执行特定的操作,从而提高服务器的性能和安全性。本文将详细介绍三种方法来实现SQL Server自动执行存储...

    SQLserver定时备份存储过程

    根据提供的信息,我们可以总结出以下关于“SQL Server定时备份存储过程”的相关知识点: ### SQL Server 定时备份存储过程 #### 1. 存储过程介绍 存储过程`Pro_AddTask`是一个用户自定义的过程,它被设计用于在SQL...

    自动执行存储过程的程序

    综上所述,"自动执行存储过程的程序"结合了.NET框架的定时任务和数据库访问功能,以及SQL Server的存储过程特性,实现了数据库维护和业务逻辑的自动化执行。理解并掌握这些技术点对于开发类似的应用至关重要。

    plsql developer简单实现定时器&存储过程

    一、定时器 直接在DBMS_Jobs右键new一个定时器出来。需要填写的部分主要有以下两个部分 what主要填写你需要定时器执行的存储过程...每天定时执行 例如:每天的凌晨1点执行 Interval => TRUNC(sysdate+ 1) +1/ (24)

    oracle 自动执行存储过程

    ### Oracle自动执行存储过程 #### 一、背景与需求 在很多实际应用场景中,我们可能会遇到需要定时执行某些任务的情况,比如数据清理、备份、统计分析等。在Oracle数据库环境中,可以通过创建定时任务来实现对特定...

    oracle 定时任务,使用存储过程更新数据

    在本主题中,我们将深入探讨如何利用Oracle的存储过程来创建和管理定时任务。 首先,Oracle中的定时任务通常通过“调度器”(DBMS_SCHEDULER)来实现。这个包提供了丰富的功能,允许用户定义任务、设置执行时间、...

    小机环境下设置定时调度DB2存储过程

    这里,`0 1 * * *`代表每天的01:00,`/path/to/db2cmd`是DB2命令行工具的路径,`-c`参数表示后面跟的是命令,`db2 call myschema.myproc`则是执行存储过程的命令。 3. **保存并退出**: 保存修改并退出编辑器,...

    oracle存储过程+日期+定时任务Job

    ### Oracle 存储过程 + 日期 + 定时任务 Job #### 一、概述 在 Oracle 数据库中,存储过程是一种可编程的对象,用于执行特定的任务。存储过程可以在数据库服务器上运行,从而提高应用程序的性能并减少网络流量。...

    Oracle JOB 定时任务

    Oracle JOB 定时任务 定时执行存储过程

    oracle定时存储过程导出用户表或者指定表及数据导出CSV文件

    定时导出oracle指定用户下指定表的所有数据及格式生成CSV文件,通过存储过程; 1.使用特定用户或者system登陆到oracle执行"存储过程.txt"里面的脚本生成对应的存储过程; (说明:存储过程.txt脚本说明,查询指定用户下...

    oracle中job调度存储过程 触发器 定时更新数据库.rar

    总结,Oracle中的Job调度存储过程和触发器是强大的数据库管理工具,它们可以帮助你实现自动化和定时执行数据库任务。通过合理地组合使用这两者,可以提高效率,减少人为错误,并确保数据的准确性和一致性。务必根据...

    Oracle JOB,procedure,cursor 的使用

    1. 使用JOB定时执行存储过程:你可以创建一个存储过程,例如更新表中的数据,然后设定一个JOB在每天凌晨执行这个过程,确保数据保持最新。 2. 游标的使用:如果你需要遍历一个大表,获取满足特定条件的行进行处理,...

    Oracle定时器

    * 定时执行存储过程:使用 Oracle 定时器可以根据指定的时间间隔执行存储过程,例如每天凌晨执行清洁数据库的存储过程。 Oracle 定时器的语法: Oracle 定时器的语法为: ```sql DECLARE jobno NUMBER; BEGIN ...

    存储过程修改

    2. 执行存储过程。 3. 测试完成后关闭测试窗口。 ##### 第四步:重新注释并编译存储过程 为了确保修改后的存储过程能够正常运行,再次注释掉之前用于调试的部分代码,并重新编译存储过程。 ##### 第五步:重启...

    Oracle专题问答.pdf

    Oracle提供了一个名为DBMS_JOB的包,可以用来创建和调度作业以定时执行存储过程。一个简单的例子是,首先提交一个作业,然后使用查询语句检查已提交的作业状态。 4. 查看数据库版本: 要查看Oracle数据库的版本,...

Global site tag (gtag.js) - Google Analytics