两学一做专题网站素材,网站推广公司哪,邢台瑞光网络科技有限公司,做头像的网站空白函数
含义#xff1a;一组预先编译好的SQL语句的集合#xff0c;理解成批处理语句
提高代码的重用性简化操作减少了编译次数并且减少了和数据库服务器的连接次数#xff0c;提高了效率
区别#xff1a;
存储过程#xff1a;可以有0个返回#xff0c;也可以有多个返回…函数
含义一组预先编译好的SQL语句的集合理解成批处理语句
提高代码的重用性简化操作减少了编译次数并且减少了和数据库服务器的连接次数提高了效率
区别
存储过程可以有0个返回也可以有多个返回适合做批量插入、批量更新 函数有且仅有1 个返回适合做处理数据后返回一个结果
一、创建语法
CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型 BEGIN 函数体 END
注意 参数列表 包含两部分 参数名 参数类型 函数体肯定会有return语句如果没有会报错 如果return语句没有放在函数体的最后也不报错但不建议 return 值; 函数体中仅有一句话则可以省略begin end 使用 delimiter语句设置结束标记
二、调用语法
SELECT 函数名(参数列表)
案例演示
无参有返回
#案例返回公司的员工个数
CREATE FUNCTION myf1() RETURNS INT
BEGINDECLARE c INT DEFAULT 0;#定义局部变量SELECT COUNT(*) INTO c#赋值FROM employees;RETURN c;END $SELECT myf1()$有参有返回
#案例1根据员工名返回它的工资CREATE FUNCTION myf2(empName VARCHAR(20)) RETURNS DOUBLE
BEGINSET sal0;#定义用户变量 SELECT salary INTO sal #赋值FROM employeesWHERE last_name empName;RETURN sal;
END $SELECT myf2(k_ing) $#案例2根据部门名返回该部门的平均工资CREATE FUNCTION myf3(deptName VARCHAR(20)) RETURNS DOUBLE
BEGINDECLARE sal DOUBLE ;SELECT AVG(salary) INTO salFROM employees eJOIN departments d ON e.department_id d.department_idWHERE d.department_namedeptName;RETURN sal;
END $SELECT myf3(IT)$三、查看函数
SHOW CREATE FUNCTION myf3;
四、删除函数
DROP FUNCTION myf3;
#案例
#一、创建函数实现传入两个float返回二者之和CREATE FUNCTION test_fun1(num1 FLOAT,num2 FLOAT) RETURNS FLOAT
BEGINDECLARE SUM FLOAT DEFAULT 0;SET SUMnum1num2;RETURN SUM;
END $SELECT test_fun1(1,2)$