教您如何创建MySQL存储过程


  本文标签:MySQL存储过程

  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字符串大小写转换函数