查看存储过程的创建代码
mysql> show create procedure p_test1\G
*************************** 1. row ***************************
Procedure: p_test1
sql_mode: STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `p_test1`()
BEGIN
INSERT INTO test_event(username,password,create_time) values(‘tomcat‘, ‘xiaohuahua‘,now());
END
character_set_client: utf8
collation_connection: utf8_general_ci
Database Collation: utf8_general_ci
1 row in set (0.00 sec)
mysql>
说明:
默认情况下mysql怎么调用存储过程,存储过程与默认关联. 如果首先要指定该存储过程是在特定下创建的,则在该过程之前添加名称;
在定义过程时,使用DELIMITER //命令从分号临时更改语句的结束符号;到两个//,以便将过程主体中使用的分号直接传递给服务器,而不是由客户端(例如mysql)解释.
示例3: 创建一个MySQL计时器来调用示例2中创建的MySQL存储过程p_test1

提示创建mysql计时器可以参考此博客文章:
从2018-09-12 17点47分开始每60秒执行一次
DELIMITER //
CREATE EVENT e_test1
ON SCHEDULE EVERY 60 second STARTS TIMESTAMP ‘2018-09-12 17:47:00‘
ON COMPLETION PRESERVE
DO
BEGIN
CALL p_test1();
END//
delimiter ;
mysql> select * from test_event;
+----+----------+------------+---------------------+
| id | username | password | create_time |
+----+----------+------------+---------------------+
| 1 | tomcat | xiaohuahua | 2018-09-12 17:18:01 |
| 2 | tomcat | xiaohuahua | 2018-09-12 17:18:39 |
| 3 | tomcat | xiaohuahua | 2018-09-12 17:18:45 |
| 0 | tomcat | xiaohuahua | 2018-09-12 17:47:00 |
| 0 | tomcat | xiaohuahua | 2018-09-12 17:48:00 |
| 0 | tomcat | xiaohuahua | 2018-09-12 17:49:00 |
| 0 | tomcat | xiaohuahua | 2018-09-12 17:50:00 |
| 0 | tomcat | xiaohuahua | 2018-09-12 17:51:00 |
+----+----------+------------+---------------------+
21 rows in set (0.00 sec)
说明:
在创建的存储过程中设置了需要传递参数的变量时,在调用存储过程时mysql怎么调用存储过程,先通过传递参数值,然后在存储项目中将SQL运算赋给存储项目中设置的变量. 存储过程已执行.
存储过程主体包含在调用过程时必须执行的语句,例如: dml,ddl语句,if-then-else和while-do语句,声明变量的声明语句等.
程序主体格式: 以begin开头,以end结尾(可以嵌套)
复制代码
BEGIN
BEGIN
BEGIN
statements;
END
END
END
复制代码
注意: 每个嵌套块及其中的每个语句都必须以分号结尾. 表示过程主体结尾的begin-end块(也称为复合语句)不需要分号.
[begin_label:] BEGIN
[statement_list]
END [end_label]
例如:
复制代码
label1: BEGIN
label2: BEGIN
label3: BEGIN
statements;
END label3 ;
END label2;
END label1
复制代码
标签有两个作用:
①增强代码的可读性
②在某些语句(例如:leave和iterate语句),需要用到标签
创建和调用MySQL存储过程
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-212926-2.html
就是行贿的最典型代表啊
大家都很现实