函数:一组预先编译好的SQL语句的集合,相当于批处理语句。
函数和存储过程的区别:存储过程可以有0个返回,也可以有多个返回,适合做批量插入、批量更新;函数有且仅有1个返回,适合处理数据后返回一个结果。
函数优点:
1、提高代码的重要性。
2、简化操作。
3、减少了编译次数并且减少了和数据服务器的连接次数,提高了效率。
创建函数模板
DELIMITER $
create FUNCTION 函数名(参数列表) RETURNS 返回类型
BEGIN
函数体
END $;
函数调用方式和存储过程调用方式不一样,函数调用直接用select。
函数样例1:
DELIMITER $
create FUNCTION mycount() RETURNS INT
BEGIN
DECLARE c INT DEFAULT 0;
select count(*) INTO c from employees;
RETURN c;
END $;
--调用
select mycount();
函数样例2:
DELIMITER $
create FUNCTION myf2(ename VARCHAR(32)) RETURNS DOUBLE
BEGIN
DECLARE c DOUBLE DEFAULT 0;
select salary INTO c from employees where last_name=ename;
RETURN c;
END $;
--调用
select myf2('Hunold')
函数样例3:
DELIMITER $
create FUNCTION myf3(ename VARCHAR(32)) RETURNS DOUBLE
BEGIN
DECLARE c DOUBLE DEFAULT 0;
select AVG(b.salary) INTO c from departments a INNER JOIN employees b on a.department_id=b.department_id where a.department_name=ename;
RETURN c;
END $;
select myf3('Adm')
本文详细解析了SQL函数与存储过程的区别,强调了函数在处理数据并返回单一结果方面的优势,通过三个实例展示了如何创建及调用SQL函数,包括计数、获取员工薪资和部门平均薪资。
1023

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



