创建MySQL存储过程是学习MySQL数据库必须要掌握的知识,下文对创建MySQL存储过程作了详细的介绍,供您参考学习。
AD:2013大数据全球技术峰会课程PPT下载
下文将教您如何创建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
--此存储过程的过程名是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)