"事件调度器"。
代码
/*开启event_scheduler,也可以设置为on*/
set global event_scheduler =1;
/*创建简单的任务,每分钟执行一次,从一个表取数据插入到另一个表,也可以定时取,可以参看下面文档,此处为简单例子*/
CREATE EVENT MyEvent
ON SCHEDULE EVERY 1 MINUTE
DO
INSERT INTO list_test (字段1,字段1,字段1,字段1,字段1) select 字段1,字段1,字段1,字段1,字段1 from 表2 where id = 510;
/*每天固定时间执行*/
CREATE EVENT EVENT_ADD_FOR20_ENOUGH
ON SCHEDULE EVERY 1 DAY
STARTS TIMESTAMP '2009-12-18 02:58:00'/×MYSQL注意时区设置,默认非中国时区×/
DO
SQL语句
set global event_scheduler =1;
/*创建简单的任务,每分钟执行一次,从一个表取数据插入到另一个表,也可以定时取,可以参看下面文档,此处为简单例子*/
CREATE EVENT MyEvent
ON SCHEDULE EVERY 1 MINUTE
DO
INSERT INTO list_test (字段1,字段1,字段1,字段1,字段1) select 字段1,字段1,字段1,字段1,字段1 from 表2 where id = 510;
/*每天固定时间执行*/
CREATE EVENT EVENT_ADD_FOR20_ENOUGH
ON SCHEDULE EVERY 1 DAY
STARTS TIMESTAMP '2009-12-18 02:58:00'/×MYSQL注意时区设置,默认非中国时区×/
DO
SQL语句
/Files/pochonlee/MySQL-Events-CN.rar
再加两段吧
代码
DELIMITER $$
DROP PROCEDURE IF EXISTS `mystock`.`TEST_KKK`$$
CREATE PROCEDURE `mystock`.`TEST_KKK`()
/*LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'*/
BEGIN
DECLARE NUM INTEGER DEFAULT 0;
DECLARE $A INT;
SELECT (20-COUNT(STOCK_CODE)) as number into NUM FROM get_stock_list WHERE FLAG = 0 AND STIME = curdate();
IF NUM>0 THEN
PREPARE STMP FROM 'INSERT INTO get_stock_list (stock_code,stock_name,close,raises,stime) select stock_code,stock_name,close,result1,selectd from choice_stock where stock_code not in (select stock_code from get_stock_list where stime = curdate() and flag = 0) and selectd = curdate() and selectd = curdate() order by id limit ?' ;
SET @A = NUM;
EXECUTE STMP USING @A;
END IF;
END$$
DELIMITER ;
DROP PROCEDURE IF EXISTS `mystock`.`TEST_KKK`$$
CREATE PROCEDURE `mystock`.`TEST_KKK`()
/*LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'*/
BEGIN
DECLARE NUM INTEGER DEFAULT 0;
DECLARE $A INT;
SELECT (20-COUNT(STOCK_CODE)) as number into NUM FROM get_stock_list WHERE FLAG = 0 AND STIME = curdate();
IF NUM>0 THEN
PREPARE STMP FROM 'INSERT INTO get_stock_list (stock_code,stock_name,close,raises,stime) select stock_code,stock_name,close,result1,selectd from choice_stock where stock_code not in (select stock_code from get_stock_list where stime = curdate() and flag = 0) and selectd = curdate() and selectd = curdate() order by id limit ?' ;
SET @A = NUM;
EXECUTE STMP USING @A;
END IF;
END$$
DELIMITER ;
代码
DELIMITER $$
DROP FUNCTION IF EXISTS `mystock`.`FUNCTION_ADD_STOCK_FOR20`$$
CREATE DEFINER=`root`@`localhost` FUNCTION `FUNCTION_ADD_STOCK_FOR20`() RETURNS int(11)
BEGIN
DECLARE NUM,ANOTHER INTEGER;
SELECT COUNT(STOCK_CODE) as number into NUM FROM get_stock_list WHERE FLAG = 0 AND STIME = curdate();
if(NUM<20)
THEN
SET ANOTHER = 20 - NUM;
INSERT INTO get_stock_list (stock_code,stock_name,close,raises,stime) select stock_code,stock_name,close,result1,selectd from choice_stock where stock_code not in (select stock_code from get_stock_list where stime = curdate() and flag = 0) order by id LIMIT 10;
END IF;
RETURN NUM;
END$$
DELIMITER ;
DROP FUNCTION IF EXISTS `mystock`.`FUNCTION_ADD_STOCK_FOR20`$$
CREATE DEFINER=`root`@`localhost` FUNCTION `FUNCTION_ADD_STOCK_FOR20`() RETURNS int(11)
BEGIN
DECLARE NUM,ANOTHER INTEGER;
SELECT COUNT(STOCK_CODE) as number into NUM FROM get_stock_list WHERE FLAG = 0 AND STIME = curdate();
if(NUM<20)
THEN
SET ANOTHER = 20 - NUM;
INSERT INTO get_stock_list (stock_code,stock_name,close,raises,stime) select stock_code,stock_name,close,result1,selectd from choice_stock where stock_code not in (select stock_code from get_stock_list where stime = curdate() and flag = 0) order by id LIMIT 10;
END IF;
RETURN NUM;
END$$
DELIMITER ;
出处:http://blog.csdn.net/nadakiss/article/details/6545654
相关推荐
在安装MYSQL 5.1之前,需要从官方网站下载安装包,然后按照安装向导的提示进行安装。需要注意的是,安装路径中不能含有中文字符。 知识点2:安装类型的选择 在安装MYSQL 5.1时,需要选择安装类型,包括Typical...
- **主从复制**:MySQL 5.1引入了半同步复制,确保主服务器上的事务在被复制到从服务器之前已经提交,提高了数据的一致性。 - **多线程复制**:从服务器可以并行处理多个二进制日志事件,加速了复制过程。 4. **...
3. **复制功能优化**:MySQL 5.1 提供了半同步复制,确保主库上的事务在被复制到从库之前已提交,提高了数据安全性。 4. **触发器和存储过程**:MySQL 5.1 支持创建触发器和存储过程,使得数据库可以执行更复杂的...
MySQL 5.1在复制功能上也有所增强,提供了一种半同步复制模式,确保主服务器上的事务在被复制到从服务器之前已经完成,从而降低了数据丢失的风险。此外,还支持多线程复制,使得从服务器可以并行处理多个来自主...
这篇文档将基于提供的"mysql5.1CHM.zip"压缩包,深入探讨MySQL 5.1的主要特性和开发相关的知识。 1. **SQL语言与查询优化**: MySQL 5.1支持标准的SQL语法,包括SELECT、INSERT、UPDATE、DELETE等操作。其查询优化...
MySQL 5.1是MySQL发展史上的一个重要版本,它在2007年发布,相比于之前的版本(如MySQL 5.0),带来了许多重要的改进和新功能。这些改进不仅提升了数据库系统的性能,还增强了其功能性和易用性,使得MySQL 5.1成为...
MySQL5.1是MySQL数据库系统的一个重要版本,它在数据库管理、性能优化、安全性以及功能扩展方面都有着显著的提升。这份官方文档是学习和理解MySQL5.1的关键资源,尤其对于中文用户来说,中文版的文档能帮助我们更...
### MySQL 5.1 升级至 MySQL 5.5 的关键知识点 #### MySQL 5.5 新特性 - **默认存储引擎改变**:MySQL 5.5 中默认的存储引擎由 MyISAM 改为了 InnoDB。这一改变极大地提高了数据库的安全性和可靠性,因为 InnoDB ...
### Linux环境下MySQL 5.1安装步骤详解 #### 一、前言 随着Linux操作系统的广泛应用,越来越多的应用程序选择在Linux环境下部署。其中,MySQL作为一款高性能的关系型数据库管理系统,在Linux环境下的部署变得尤为...
在使用MySQL ODBC 5.1 Driver之前,需要在ODBC数据源管理器中创建一个新的数据源,指定MySQL服务器地址、端口、用户名、密码以及数据库名等信息。这个过程可以通过控制面板中的“ODBC Data Sources”工具完成。 5....
根据提供的文件信息,标题“mysql5.1中文文档”及描述和标签中提及的“mysql5.1”,我们可以推断出这份文档主要涉及MySQL 5.1版本的相关内容。然而,给定的部分内容并未直接涉及MySQL 5.1的具体知识点,而是一段看...
MySQL 5.1是MySQL数据库管理系统的一个较早版本,它提供了稳定性和性能的良好平衡,适合许多中小型企业或个人开发者使用。以下将详细说明MySQL 5.1的安装步骤: 1. 访问MySQL官方网站:首先,你需要访问MySQL的官方...
2. **触发器**:MySQL 5.1引入了触发器,这是一种在特定数据库操作(如INSERT、UPDATE或DELETE)之前或之后自动执行的存储过程。这为实现业务规则和数据完整性提供了额外手段。 3. **分区表**:MySQL 5.1支持分区表...
MySQL 5.1 for Windows XP 是一款专为微软操作系统设计的经典数据库管理系统,它结合了MySQL服务器和MySQL Workbench,提供了一体化的数据管理和开发环境。MySQL是一个开源的关系型数据库管理系统,以其高效、可靠和...
MySQL 5.1是MySQL数据库管理系统的一个重要版本,它提供了许多功能和改进,旨在提高数据库性能、稳定性和可管理性。以下是对这个版本的关键知识点的详细介绍: 1. **安装与配置**: MySQL 5.1的安装过程包括下载...
3. **复制改进**:MySQL 5.1在主从复制方面做了优化,如半同步复制,确保主库上的事务在被复制到从库之前至少被写入一次,增强了数据一致性。 4. **触发器**:MySQL 5.1开始支持触发器,允许用户定义在特定操作(如...
MySQL 5.1是Oracle公司出品的一款开源的关系型数据库管理系统,它是MySQL数据库系统的一个重要版本。MySQL 5.1在5.0版本的基础上增加了许多功能,例如分区表、存储过程、触发器、视图等,这使得它在企业级应用中更加...