Déjame hablar sobre el significado de la función mysql:
Un conjunto de sentencias SQL precompiladas, entendidas como sentencias por lotes.
El propósito de usar la función:
1. Mejora la reutilización del código
2. Simplificar la operación
3. Reducir el número de compilaciones y reducir el número de conexiones al servidor de la base de datos, lo que mejora la eficiencia.
La diferencia entre funciones y procedimientos almacenados :
Procedimiento almacenado: puede haber 0 valores de retorno o múltiples valores de retorno, adecuados para la inserción y actualización por lotes
Función: hay un solo valor de retorno , que es adecuado para devolver un resultado después de procesar los datos.
Uno, crea gramática:
create function 函数名(参数列表) return是返回类型
begin
函数体
end
#注意
1、参数列表包含两部分:参数名,参数类型
2、函数体:肯定会有return语句,如果没有会报错,如果return语句没有放在函数体的最后也不报错,但是不建议(没有意义)
3、函数体中仅有一句话,可以省略begin end
4、使用delimiter语句设置结束标记(demilter $)
Dos, sintaxis de llamada
seleccione el nombre de la función (lista de parámetros)
Ejemplo:
1. Regreso sin participación
Devuelve el número de empleados de la empresa.
create function myf1()returns int
begin
declare c int default 0;
select count(*) into c
from employees;
return c;
end $
select myf1()$
Participa y vuelve
#根据员工名返回工资
create function myf2 (empName varchar(20)) returns double
begin
set @sal=0#定义用户变量
select salary into @sal from employees where last_name=empName;
return @sal;
end $
select myf2('king') $
Devuelve el salario medio del departamento según el nombre del departamento
create function myf3(repName varchar(20)) returns double
begin
declare sal double;
select avg(salary) into sal
from employees e
join departments d on e.department_id=d.department_id
where d.department_name =repName;
return sal;
end $
select myf3('IT') $
Tres, función de vista
muestre el nombre de la función de la función de creación;
Cuatro, función de eliminación
soltar el nombre de la función de la función