MySQL存储过程的创建方法是比较基础的知识,下面就为您介绍如何创建MySQL存储过程,如果您是刚刚接触MySQL数据库的新人,不妨一看。

--选择数据库 
 mysql> use test; 
 Database changed
--创建示例用表 
 mysql> create table zzm( 
 -> id int primary key auto_increment, 
 -> name varchar(10) 
 -> ); 
 Query OK, 0 rows affected (0.20 sec) 
 mysql> insert into zzm(name) values('zhang'); 
 Query OK, 1 row affected (0.08 sec)
mysql> insert into zzm(name) values('zeng'); 
 Query OK, 1 row affected (0.05 sec)
mysql> insert into zzm(name) values('ming'); 
 Query OK, 1 row affected (0.05 sec)
mysql> select * from zzm; 
 +----+-------+ 
 | id | name | 
 +----+-------+ 
 | 1 | zhang | 
 | 2 | zeng | 
 | 3 | ming | 
 +----+-------+ 
 3 rows in set (0.00 sec) 
 --更改命令结束符(因为在procedure中经常要用到默认的命令结束符--分号(;) 
 --所以在创建procedure的时候需要定义新的结束符以说明创建procedure的命令结束) 
 --这里将结束符号改成美元符号--$ 
 mysql> delimiter $ 
 --创建MySQL存储过程p3 
 --此MySQL存储过程的过程名是p3,该过程包含两个参数, 
 --一个是输入类型的(以IN标示),参数名是nameid,类型是int, 
 --一个是输出类型的(以OUT标示),参数名是person_name,类型是varchar(10) 
 --此存储过程的作用是查询出zzm表的全部内容,会输出结果集(data set),然后 
 --再查询表中记录的ID是nameid的字段name,将其输出到第二个输出类型的参数里面,这个查询 
 --不会输出结果集。 
 mysql> create procedure p3(IN nameid int, OUT person_name varchar(10)) 
 -> begin 
 -> select * from test.zzm; 
 -> select zzm.name into person_name from test.zzm where zzm.id = nameid; 
 -> end 
 -> $ 
 Query OK, 0 rows affected (0.00 sec)
--创建完成,查看数据库中所有已经创建的存储过程 
 mysql> show procedure status $
【编辑推荐】
mysql触发器的三个状态
建立MySQL触发器的语法
mysql建主从服务器的实现方法
Mysql聚合函数简介
MySQL字符串大小写转换函数