Diferencias entre procedimientos y funciones en MariaDB (Curso de MariaDB desde cero [23])
En este ejercicio vamos a aprender las siguientes diferencias entre procedimientos y funciones en MariaDB de forma práctica:
Los procedimientos pueden retornar varios parámetros de salida y las funciones solo retornan una sola variable.
Los parámetros de retorno o de salida en los procedimientos son opcionales y en las funciones es obligatorio que se tenga re que retornar por lo menos un valor.
Las funciones se pueden llamar en cualquier sentencia de SQL y los procedimientos solo se pueden llamar mediante call. Incluso se puede llamar una función dentro de una procedimiento.
Para entender mejor las diferencias entre procedimientos y funciones vamos a hacer el siguiente ejercicio:
Crear un procedimiento llamado operaciones_mat que:
Que pida (in) dos números enteros.
Que retorne dos números enteros con los resultados de suma y multiplicación respectivamente.
Crearemos dos funciones llamadas suma y multiplicación que retornen un valor con el resultado de la suma y la multiplicación respectivamente.
Llamar las funciones dentro del procedimiento.
Codigo:
drop procedure operaciones_mat;
delimiter //
create procedure operaciones_mat(in n1 int,in n2 int,out res_suma int,out res_mul int)
begin
select suma(n1,n2),mul(n1,n2) into res_suma,res_mul;
end//
delimiter ;
call operaciones_mat(3,3,@suma,@mul);
select @suma,@mul;
delimiter //
create function suma(n1 int,n2 int) returns int
begin
return n1+n2;
end//
delimiter ;
delimiter //
create function mul(n1 int,n2 int) returns int
begin
return n1*n2;
end//
delimiter ;
select suma(3,3);
select mul(3,3);
🎦 [CURSO] MYSQL DE 0 A 100🐬: https://www.youtube.com/playlist?list=PLCTD_CpMeEKQmH9cRKWWHahygZFtIdwYG
🎦 [CURSO] PhpMyAdmin En español 🇪🇸: https://www.youtube.com/playlist?list=PLCTD_CpMeEKRDDCpQho7sg1iNYQpOy2G4
🔗 Facebook: https://facebook.com/ProgramadorNovatoOficial
🔗 Twitter: https://twitter.com/programadornova
🔗 Linkedin: https://www.linkedin.com/in/programadornovato/
🔗 Instagram: https://www.instagram.com/programadornovato/
🔗 Pagina oficial: https://www.programadornovato.com
🔗 Gracias por apoyar este canal: https://www.patreon.com/programadornovato
🎦 Canal de youtube: https://www.youtube.com/c/programadornovato
<<Anterior tutorial Siguiente tutorial >>