存储程序分为存储过程和存储函数。在MySQL中创建存储过程和存储函数的语句分别是create procedure 和create function。使用call语句来调用存储过程,只能用输出变量返回值。
1.创建存储过程。
需要用到create procedure,其基本语法如下:
create procedure 存储过程名称(参数列表)存储过程特性 存储体;
参数列表为:【in|out|inout 参数名称 参数类型】。in为输入参数,out为输出参数,inout两者都有。
存储特性为指定存储过程中的特性。
存储体就是写的具体的SQL。
其中参数列表和存储过程特性为可选项。
# 比如此存储过程就是一个名为sumPrice的存储过程,begin和end用来限定存储体。create procedure sumPrice()beginselect 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。
以上就是最简单的存储过程和存储函数的创建过程。