MySQL存储过程和函数

一、存储过程的创建和调用

1.创建存储过程

--修改结束分隔符

DELIMITER$

--创建存储过程

CREATE  PROCEDURE  存储过程名称(参数列表)

BEGIN

                   SQL语句列表;

END$

--修改结束分隔符

DELIMITER$

2.调用存储过程

CALL  存储过程名称(实际参数);

3.存储过程的查看和删除

查看数据库中所有的存储过程

SELECT  *  FROM  mysql.proc  WHERE  db=' 数据库名称 ';

删除存储过程

DROP  PROCEDURE  IF EXISTS  存储过程名称;



二、存储过程语法

1.变量

定义变量

DECLARE  变量名  数据类型  [DEFAULT  默认值];

变量赋值方式一

SET  变量名 = 变量值;

变量赋值方式二

SELECT  列名  INTO  变量名  FROM  表名  WHERE 条件;

2.if语句

if语句标准语法

IF  判断条件1  THEN  执行sql语句1;

[ELSEIF  判断条件2  THEN  执行sql语句2;]

........

[ELSE  执行的sql语句n;]

END IF;

3.参数传递

存储过程中的参数和返回值

DELIMITER $

CREATE  PROCEDURE  存储过程名称 ( [ IN | OUT | INOUT ] 参数名 数据类型 )

BEGIN

              SQL语句列表;

END$

IN:代表输入参数,需要有调用者传递实际数据(默认)

OUT:代表输出参数,该参数可以作为返回值

INOUT:代表既可以作为输入参数,也可以作为输出参数 

4.while循环

while循环语句

初始化语句;

WHILE  条件判断语句 DO

                       循环体语句;

                    条件控制语句;

END  WHILE;

三、存储函数

存储函数和存储过程是非常相似的,区别在于存储函数必须有返回值。

1.创建存储函数

DELIMITER $

CREATE  FUNCTION  函数名称(参数列表)

RETURNS  返回值类型

BEGIN

            SQL语句列表;

            RETURN  结果;

END$

2.调用存储函数

SELECT  函数名称(实际参数);

3.删除存储函数

DROP  FUNCTION  函数名称;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容