1.存储过程(procedure):
IF-THEN-ELSE控制结构语句)组成。
录屏
是一组完成特定功能的SQL语句集,即一段存放在数据库中的代码,可由声明式SQL语句(例如CREATE语句、SELECT语句、INSERT语句等)和过程式SQL语句(如
2.存储过程的创建、查看、调用和删除
(1)创建: delimiter //
create procedure 存储过程名称([形式参数])(先选择数据库)
begin
routine_body(存储过程体):
end $$
delimiter;
注意:可使用DELIMITER命令将MySQL语句的结束标志修改为其他符号:delimiter//..delimiter:
(2)查看: show procedure status;/create procedure 存储过程名称:
(3)调用:CALL 存储过程名称([实际参数]);
(4)删除:drop procedure 存储过程名称:
3.存储函数(function):
可以分为两种,一种是内置函数,一种是自定义函数。在MySQL中,通常将用户自定义的函数称为存储函数,和MySQL内置函数性质相同,都用于实现某种功能。
4.存储函数的创建、查看、调用和删除
除了调用均与存储过程类似,只需将procedure改成function即可。
调用:select 函数名(实参);(不能用call)
5.存储过程与存储函数的异同
(1)相同:都是过程式数据库对象,都是附有一定功能的代码集合,增删改查操作均类似
(2)不同:
I
a.存储过程可以有输入和输出参数,但函数只能有输入参数,函数本身就是输出参数
b.存储过程调用:call 存储过程名,但函数调用:select 函数名(实参)
c.存储过程不允许有return语句,但函数必须有return语句