Los procedimientos de funciones en SQL son elementos que sirven como una añadidura de los objetos principales de cualquier programa de código o de un lenguaje de programación, es decir, instrucciones que van a determinar la forma en la que actuará un programa, cómo recopilará información, qué análisis sacará y cómo realizarlas a partir de lo que establezca el desarrollador.
Los procedimientos en SQL, entonces, actúan gracias a una función preestablecida, ya que el procedimiento llamará a los elementos que se encuentran anteriormente. Así pues, a continuación profundizaremos en el tema de qué son los procedimientos de funciones en SQL.
¿Qué son los procedimientos de funciones en SQL?
Los procedimientos de funciones en SQL o procedimientos almacenados son herramientas propias del lenguaje de computación que te permitirán realizar procesos enlazados con funciones anteriormente establecidas. Un procedimiento almacenado, por tanto, es un conjunto de instrucciones de código que puedes guardar y, después, puedes reutilizarlo las veces que sean necesarias.
Para utilizarla solo tienes que llamarla y ejecutar la función en otro proceso. Si quieres saber cómo se realiza este proceso en la práctica, en el siguiente apartado te traemos un ejercicio práctico, donde enlazamos una función primaria con un procedimiento que está enlazado a ella.
Ejemplo de procedimientos de funciones en SQL
Para que entiendas cómo actúan los procedimientos almacenados o procedimientos de funciones en SQL, te traemos un ejercicio práctico que se enlaza con un ejercicio anterior, que realizamos en uno de nuestros artículos acerca de la función de cuenta adelante.
Es por eso que primero te presentaremos la sintaxis de la función preestablecida y, después, cómo luciría el procedimiento almacenado de esta misma función, que será ejecutado en un paso posterior.
Función primaria de cuenta adelante
El proceso para crear una función de cuenta adelante podrás visualizarlo en nuestro artículo anterior acerca de la función de cuenta adelante. Allí establecimos el proceso que utilizamos para realizar el loop, la iteración y la condición entre los valores y los números para realizar esta cuenta.
En este caso, puede llegar a contar hasta el número 3000.
USE [BASE DE DATOS] DELIMITER $$ CREATE FUNCTION cuenta_adelante (n INT) RETURNS INT BEGIN DECLARE i INT: SET i = 0; label1 = LOOP SET i = i + n; IF i < 3000 THEN ITERATE label1; END IF; LEAVE label1; END LOOP label1; RETURN i; END; $$ DELIMITER;
Procedimiento de la función cuenta adelante
Ahora que ya recuerdas cómo se crea la función de cuenta adelante, vamos a realizar el proceso almacenado de esta función. Para empezar, deberás definir un delimitador para el procedimiento. Una vez hecho esto, tendrás que utilizar la sentencia CREATE PROCEDURE, que llamaremos igual, pero con un identificador diferente. Para el procedimiento no es necesario establecer qué tipo de dato se establecerá. Se podrá empezar de una vez con el cuerpo de la función.
Para llamar a los valores tendrás que utilizar el signo de arroba @; en este caso, será @i. De esta manera, podrás empezar a adjuntar tus loops o condiciones, según sea tu necesidad.
DELIMITER $$ CREATE PROCEDURE cuenta_adelante2 (n INT) BEGIN SET @i = 0; REPEAT SET @i = @i + 1; UNTIL @i > n END REPEAT; END; && DELIMITER;
Llamar a este procedimiento será diferente a lo que hacemos con una función ejecutada, pues deberás utilizar la sentencia CALL de la siguiente manera:
USE [BASE DE DATOS] CALL cuenta_adelante (1000); SELECT @i
¿Cuál es el siguiente paso?
Si has llegado hasta este punto del artículo, seguro que utilizarás este ejercicio práctico para reproducirlo en proyectos futuros, lo que perfeccionará todo lo que has realizado hasta el día de hoy. Ahora bien, aunque esto ha sido muy útil para tu aprendizaje, aún queda mucho más por conocer y expandir tus herramientas. Por eso, te recomendamos visitar el temario de nuestra formación intensiva: Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. En pocos meses te formarás con la guía de expertos para transformarte en un profesional y entrar en el mercado laboral IT. ¡No lo dudes y solicita información!