Cómo crear procedimientos almacenados en PostgreSQL

Como Crear Procedimientos Almacenados En Postgresql



Con PostgreSQL, es posible crear procedimientos almacenados que definen varias rutinas que deben ejecutarse cuando se llaman. Estas rutinas se componen de declaraciones SQL que realizan las tareas definidas en su base de datos. Por ejemplo, puede crear un procedimiento almacenado que actualice los valores de su tabla cuando lo llame.

Los procedimientos almacenados ayudan a optimizar la base de datos y a mejorar la reutilización. En lugar de tener que ejecutar la misma consulta, puede crear la tarea como un procedimiento almacenado al que llamará cuando sea necesario. Aprenderá todo sobre los procedimientos almacenados al final de esta publicación.

Trabajar con procedimientos almacenados en PostgreSQL

Como usuario de PostgreSQL, habrás notado que las funciones de PostgreSQL no ejecutan transacciones. Si bien es posible crear una transacción, no es posible confirmarla o revertirla al estado anterior. Sin embargo, estas limitaciones se evitan mediante procedimientos almacenados.







Aquí está la sintaxis básica para crear un procedimiento almacenado en PostgreSQL:



CREAR O REEMPLAZAR PROCEDIMIENTO nombre_procedimiento(

parámetro[s] tipo_datos

)

IDIOMA plpsql;

COMO $$

DECLARAR

variables_si_cualquier tipo_datos

COMENZAR

lógica

FIN;

$$

Los aspectos clave a tener en cuenta en la sintaxis proporcionada son el 'nombre_procedimiento', que es el nombre que utilizará para el procedimiento almacenado, los parámetros que desea incluir y sus tipos de datos, y la lógica, que son principalmente las declaraciones SQL.



Demos tres ejemplos para ayudarle a comprender cómo crear los procedimientos almacenados en PostgreSQL.





Ejemplo 1: un procedimiento almacenado para calcular el cuadrado de un número

Para nuestro primer ejemplo, creamos un procedimiento almacenado que utiliza la declaración 'RAISE NOTICE' como una forma de imprimir la salida en la terminal. El procedimiento almacenado toma el valor entero que le das al llamarlo y calcula su cuadrado.

Así es como creamos el procedimiento almacenado:



Llamamos a nuestro parámetro 'num1' y es un número entero. Para la parte lógica, definimos cómo obtiene el cuadrado de 'num1' y lo almacena como la variable cuadrada. Cuando ejecutamos el comando, obtenemos el resultado 'CREAR PROCEDIMIENTO' que confirma que logramos crear el procedimiento almacenado con éxito.

La siguiente tarea es llamar al procedimiento y darle el argumento esperado.

CALL nombre_procedimiento(argumentos);

Obtendrá el resultado CALL que muestra que el procedimiento almacenado se ha ejecutado y obtenemos el resultado esperado que, en este caso, es el cuadrado del argumento que agregamos.

Ejemplo 2: un procedimiento almacenado para insertar los valores en una entrada de tabla

Los dos ejemplos siguientes muestran cómo crear un procedimiento almacenado que funcione con una tabla de base de datos. Creemos rápidamente la tabla de 'estudiantes' con la que trabajaremos.

Para este ejemplo, creamos un procedimiento almacenado que permite al usuario insertar los valores en la tabla recién creada. Observe cómo especificamos los parámetros que esperamos que se agreguen como argumentos cuando llamamos al procedimiento almacenado. Además, definimos la lógica que toma los argumentos agregados y ejecuta una instrucción INSERT SQL en la tabla 'estudiantes'.

Podemos verificar los procedimientos almacenados disponibles ejecutando el siguiente comando:

\df

El primer procedimiento almacenado que podemos ver en el siguiente resultado es el 'add_student' que creamos anteriormente.

Ahora, llamemos al procedimiento almacenado para ejecutarlo. La siguiente imagen muestra cómo tenemos una tabla vacía, pero llamamos al procedimiento almacenado para agregar el primer estudiante:

Si enumeramos los valores en nuestra tabla, observe cómo los argumentos que agregamos con el comando de llamada al procedimiento son los valores de nuestro primer estudiante en nuestra tabla. Así es como se crea un procedimiento almacenado para insertar los valores en una tabla.

Tenga en cuenta que al crear el procedimiento almacenado, los parámetros que especifique deben coincidir con lo esperado en su tabla para evitar errores. Además, el tipo de datos debe coincidir.

Ejemplo 3: un procedimiento almacenado para actualizar una entrada de tabla

Continuando, creemos otro procedimiento almacenado que actualice una entrada de la tabla. Si desea tener una forma rápida de actualizar los valores en nuestra tabla, puede crear un procedimiento almacenado de actualización de la siguiente manera:

Especifique qué columna desea actualizar usando la palabra clave WHERE y el nuevo valor usando la palabra clave SET. Luego debe agregar la palabra clave COMMIT para conservar los cambios.

Llamemos al procedimiento almacenado de actualización y agreguemos los argumentos esperados: 'student_id' y el nuevo curso.

Si enumeramos las entradas en nuestra tabla, podemos verificar que tenemos el curso actualizado para el estudiante en particular al que nos dirigimos. Así es como funciona un procedimiento almacenado de actualización.

Conclusión

Puede crear cualquier procedimiento almacenado en PostgreSQL. Sólo necesita comprender la sintaxis a seguir y luego definir su lógica para el procedimiento almacenado. Desde allí, llame al procedimiento almacenado y verifique que se haya ejecutado como se esperaba. Esta publicación explicó sobre los procedimientos almacenados en PostgreSQL y proporcionó ejemplos sobre cómo crearlos.