赞
踩
/*
函数与存储过程的区别
1、存储过程:可以有0个返回值,可以有多个返回值
函数:有且仅有一个返回值
*/
#创建语法
create FUNCTION 函数名(参数列表) return 返回类型
BEGIN
函数体
END
/*
注意:
1、参数列表:参数名,参数类型
2、函数体:一定有return语句,没有会报错
return语句没有放在最后不报错,不建议这样写
return值
函数体仅有一句话,可省略begin,end
使用delimiter设置结束标志
调用语法
select 函数名(参数列表)
*/
例1:
/*查询学生人数*/
#不需要delimiter设置结束符
create FUNCTION stunum() RETURNS INT
begin
DECLARE c int DEFAULT 0;
select count(*) into c
from student;
return c;
END
#调用函数
select stunum()
例2:
/*查询学号返回姓名*/
#不需要delimiter设置结束符
#有参有返回
create FUNCTION stuname(sno int) RETURNS varchar(16)
begin
set @aname=''; #变量初始化
select student.sname into @aname
from student where student.sno=20162002;
return @aname;
END
#调用函数
select stuname(20162002)
例3:
查看存储过程及函数
查看函数:
show create function stunum;
查看存储过程:
show create procedure info;
删除存储过程及函数
删除函数:
drop function stunum;
删除存储过程:
drop procedure info;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。