MySQL存储过程和函数

Posted 冬色

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL存储过程和函数相关的知识,希望对你有一定的参考价值。

存储过程和函数的区别

  • 存储过程可以返回多个值,而函数可以返回一个
  • 函数可以嵌入到sql中使用,可以使用select调用;而存储过程不可以
  • 本质差不多

创建存储过程和函数

  • CREATE PROCEDURE/CREATE FUNCTION
  • 举例子之前,补充SQL中delimiter的用法,delimiter命令用于改变解释器的结束符。例如在定义函数过程中,在函数体内可能出现SQL默认的";"结束符,一旦输入,解释器就开始执行,但是很显然有时候其时并没有定义结束,所以定义函数或者过程之前一般要使用delimiter重定义结束符
  • 定义过程示例。e.g.:如前所述,先把默认结束符换掉,执行delimiter //,然后执行CREATE PROCEDURE simpleporc (OUT param1 INT) BEGIN SELECT COUNT(*) INTO param1 FROM t END //调用:CALL simpleproc(@a);
  • 定义函数示例。e.g.:CREATE FUNCTION hello(s CHAR(20)) RETURNS CHAR(50) RETURN CONCAT(‘Hello,‘,s,‘!‘);//(当然,也要把结束符先换掉)

修改存储过程和函数

  • ALTER PROCEDURE/ALTER FUNCTION

删除存储过程和函数

  • DROP PROCEDURE/DROP FUNCTION

SHOW CREATE PROCEDURE/SHOW CREATE FUNCTION


SHOW PROCEDURE STATUS/SHOW FUNCTION STATUS


其它

  • CALL
  • BEGIN ... END
  • DECLARE声明变量等
  • CASE
  • LOOP
  • LEAVE
  • ITERATE
  • REPEAT
  • WHILE

以上是关于MySQL存储过程和函数的主要内容,如果未能解决你的问题,请参考以下文章

MySQL基础--存储过程和函数

Mysql存储过程和函数

MySQL存储过程和函数

mysql-存储过程和函数-热身运动

MySQL存储过程和函数

MySQL_基础_存储过程和函数