一、存储过程和函数的概述
存储过程和函数是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。
存储过程和函数的区别在于函数必须有返回值,而存储过程没有。
函数:是一个有返回值的过程;
过程:是一个没有返回值的函数
PS:存储过程是封装SQL语句的集合
二、创建存储过程
CREATE PROCEDURE procedure_name ([proc_parameter[,...]])
begin
-- SQL语句
end ;
PS:
procedure 程序,步骤,手续
示例:创建存储过程
delimiter $
create procedure pro_test1()
begin
select 'Hello Mysql';
end$
DELIMITER该关键字用来声明SQL语句的分隔符,告诉MySQL解释器,该段命令是否已经结束了,mysql是否可以执行了。默认情况下,delimiter是分号; 。在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。
三、调用存储过程
语法: call procedure_name();
四、查看存储过程
-- 查询db_name数据库中的所有的存储过程
select name from mysql.proc where db='db_name';
-- 查询存储过程的状态信息
show procedure status;
-- 查询某个存储过程的定义
show create procedure test.pro_test1 \G;
查询demo_01数据库中的所有的存储过程:select name from mysql.proc where db=‘demo_01’;
查看存储过程的状态 : show procedure status;
查询pro_test1这个存储过程的定义: show create procedure pro_test1 \G;
在SQLyog里面查看存储过程
五、删除存储过程