本教程中所使用的数据库的建表语句都在“SQL教程——索引”这篇文章中,点击链接直达:索引&建表语句
摘要:本文主要介绍SQL语法的存储过程
函数
含义:一组先编译好的SQL语句的集合,理解成批处理语句
-
提高代码的重用性
-
简化操作
-
减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率
区别:
存储过程:可以有0个返回,也可以有多个返回,适合做批量插入、批量更新
函数:有且仅有1个返回,适合做处理数据后返回一个结果
一、创建语法
create function 函数名(参数列表)returns 返回类型
begin
函数体
end
注意:
1.参数列表 包含两部分:
参数名 参数类型
2.数体:肯定会有return语句,如果没有会报错
如果return语句没有放在函数体的最后也不报错,但不建议
3.函数体中仅有一句话,则可以省略begin end
4.使用delimiter语句设置结束标记
二、调用语法
select 函数名(参数列表)
#1.无参有返回
#案例1:返回公司的员工个数
create function myf1() returns int
begin
declare c int default 0;
select count(*) into c
from employees;
return c;
end $
select myf1() $
#2.有参又返回
#案例1:根据员工名,返回他的工资
create function myf2(empName varchar(20)) returns double
begin
declare res double default 0;
select salary into res
from employees
where last_name =empName;
return res;
end$
select myf2('Baer')$
#三、查看语法
show create function myf2$
#四、删除函数
drop functino myf2$
#案例
#一、创建函数,实现传入两个float,返回二者之和
create function test_fun1(num1 float, num2 float) returns float
begin
declare res double;
set res = num1 + num2;
return res;
end $
select test_fun1(12.00 + 13.45)$