MySQL存储过程和函数使用总结
作者:BuleSky 发布时间:[ 2016/11/17 11:20:09 ] 推荐标签:MySQL 数据库
示例7:REPEAT的使用
mysql> delimiter //
mysql> CREATE PROCEDURE dorepeat(p1 INT)
-> BEGIN
-> SET @x = 0;
-> REPEAT
-> SET @x = @x + 1;
-> UNTIL @x > p1 END REPEAT;
-> END
-> //
Query OK, 0 rows affected (0.00 sec)
mysql> CALL dorepeat(1000)//
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @x//
+------+
| @x |
+------+
| 1001 |
+------+
1 row in set (0.00 sec)
WHILE语句
[begin_label:] WHILE search_condition DO
statement_list
END WHILE [end_label]
有条件的循环,与REPEAT的区别在于:WHILE是满足条件才执行循环,REPEAT是满足条件退出循环;WHILE在首次循环执行之前潘丹条件,所以少执行0次,而REPEAT是在首次执行循环之后才判断条件,所以循环少执行1次。
示例8:WHILE的使用
REATE PROCEDURE dowhile()
BEGIN
DECLARE v1 INT DEFAULT 5;
WHILEv1 > 0 DO
...
SETv1 = v1 - 1;
ENDWHILE;
END;
事件调度器
事件调度器是MySQL5.1后新增的功能,可以将数据库按自定义的时间周期触发某种操作,可以理解为定时任务,类似Linux系统下的定时任务crontab
如:
CREATE EVENT myevent
ONSCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
UPDATE myschema.mytable SET mycol = mycol + 1;
其中:
<1>事件名称在CREATE EVENT关键字之后指定;
<2>通过ON SCHEDULE子句指定事件在何时执行及执行频次;
<3>通过DO子句指定要执行的具体操作或事件。
上面的示例中创建一个创建后立即执行的调度事件,执行频次为1小时,执行内容为更新表数据。
事件调度器默认是关闭的,需要打开:
SET GLOBAL event_scheduler = 1;
如果事件调度器不再使用,可以禁用(disable)或删除(drop):
ALTER EVENT myevent disable;
DROP EVENT myevent;
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
在测试数据库性能时,需要注意哪些方面的内容?测试管理工具TC数据库报错的原因有哪些?怎么解决?数据库的三大范式以及五大约束编程常用的几种时间戳转换(java .net 数据库)优化mysql数据库的几个步骤数据库并行读取和写入之Python实现深入理解数据库(DB2)缓冲池(BufferPool)国内三大云数据库测试对比预警即预防:6大常见数据库安全漏洞数据库规划、设计与管理数据库-事务的概念SQL Server修改数据库物理文件存在位置使用PHP与SQL搭建可搜索的加密数据库用Python写一个NoSQL数据库详述 SQL 中的数据库操作详述 SQL 中的数据库操作Java面试准备:数据库MySQL性能优化
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南