存储程序分为存储过程和存储函数。在MySQL中创建存储过程和存储函数的语句分别是create procedure 和create function。使用call语句来调用存储过程,只能用输出变量返回值。
1.创建存储过程。
需要用到create procedure,其基本语法如下:
create procedure 存储过程名称(参数列表)存储过程特性 存储体;
参数列表为:【in|out|inout 参数名称 参数类型】。in为输入参数,out为输出参数,inout两者都有。
存储特性为指定存储过程中的特性。
存储体就是写的具体的SQL。
其中参数列表和存储过程特性为可选项。
# 比如此存储过程就是一个名为sumPrice的存储过程,begin和end用来限定存储体。
create procedure sumPrice()
begin
select sum(price) from books;
end;
# 例如使用参数的存储过程,将其命名为countTotal,将计算的数目给参数ct。
create procedure countTotal(out ct int)
begin
select count(*) into ct from books;
end
2.创建存储函数。
创建存储函数需要用到create function语句。
create function func_name(参数列表)returns type 指定存储特性 存储体。
其中参数列表如存储过程一样,returns type是返回类型,指定存储特性也是可选项。
# 定义一个nameString无参存储函数,其返回类型为字符类型。
create function nameString()
returns char(100)
return(select name from class);
需要注意的是:指定参数in,out,inout只能对于存储过程,而对于存储函数来说,只能是默认的in。
以上就是最简单的存储过程和存储函数的创建过程。
本文详细介绍了MySQL中创建存储过程和存储函数的方法。存储过程使用createprocedure语句,存储函数则使用createfunction语句。创建存储过程时可以定义in、out、inout参数,而存储函数仅支持in参数。文中通过示例展示了如何创建无参数和带参数的存储过程及存储函数,并强调了调用存储过程时只能通过输出变量返回值。
1115

被折叠的 条评论
为什么被折叠?



