1. Introducción
El procedimiento almacenado (procedimiento almacenado) es un conjunto de sentencias SQL para completar una función específica. Se compila y guarda en la base de datos. El usuario puede llamarlo y ejecutarlo especificando el nombre del procedimiento almacenado y los parámetros dados, similar al lenguaje de programación Método o función.
2. Ventajas
Reutilización: el procedimiento almacenado es una encapsulación de sentencias SQL, admite la recepción de parámetros y devuelve resultados de operaciones, lo que puede mejorar la reutilización.
Lógica: los procedimientos almacenados pueden ocultar lógica empresarial compleja y lógica empresarial.
3. Desventajas
Portabilidad: La portabilidad del procedimiento almacenado es pobre, si se reemplaza la base de datos, el procedimiento almacenado debe ser reescrito.
Escalabilidad: el procedimiento almacenado es difícil de depurar y expandir.
4. Gramática
#存储过程定义
delimiter //
create procedure procedureName(入参,出参)
begin
存储过程;
end
//
delimiter ;
#存储过程调用
call procedureName(入参,出参);
5. Ejemplo de procedimiento almacenado: encuentre la suma de dos números
delimiter //
create procedure my_sum(in a int, in b int, out result int)
begin
set result = a + b;
end
//
delimiter ;
call my_sum(10, 20, @result);
select @result;
6. Ejemplo de un procedimiento almacenado: Calcule la suma de 1 + 2 +… + n
delimiter //
create procedure my_n_sum(in n int, out result int)
begin
declare i int default 1; declare sum int default 0;
while i<=n do
set sum = sum + i; set i = i + 1;
end while;
set result = sum;
end;
//
delimiter ;
call my_n_sum(10, @result);
select @result;