sql >> Base de Datos >  >> RDS >> PostgreSQL

Función de creación de PostgreSQL

Las funciones de PostgreSQL son procedimientos almacenados que le permiten almacenar un conjunto de operaciones de base de datos en una función a la que se puede llamar repetidamente sin tener que escribir instrucciones manualmente cada vez. Es una gran utilidad para la reutilización y automatización de bases de datos en aplicaciones. También puede usarlo para crear funciones definidas por el usuario y procedimientos almacenados. Aquí se explica cómo usar el comando de función de creación de PostgreSQL.


Función de creación de PostgreSQL

Esta es la sintaxis de PostgreSQL CREATE FUNCTION.

CREATE [OR REPLACE] FUNCTION function_name (arguments) 
RETURNS return_datatype AS $variable_name$ 
DECLARE declaration; [...] 
BEGIN < function_body > [...] 
RETURN { variable_name | value } 
END; 
LANGUAGE plpgsql;

En la consulta anterior, debe especificar

nombre_función – nombre de la función

[O REEMPLAZAR]:palabra clave opcional para modificar la función existente

cuerpo_función – conjunto de operaciones a ejecutar como parte de la función

volver declaración con o sin una variable/valor de retorno

declarar variables para almacenar valores de funciones

idioma – PostgreSQL le permite definir la función en varios lenguajes como PostgreSQL, SQL, C, Python y otros lenguajes de procedimiento.

Lectura adicional:Crear esquema de PostgreSQL

Ejemplo CREAR FUNCIÓN

Aquí hay un ejemplo de cómo crear un procedimiento almacenado en PostgreSQL. Supongamos que tiene la siguiente tabla ventas

postgres=# select * from sales;
 order_date | sale
------------+------
 2020-04-01 |  210
 2020-04-02 |  125
 2020-04-03 |  150
 2020-04-04 |  230
 2020-04-05 |  200
 2020-04-10 |  220
 2020-04-06 |  250
 2020-04-07 |  215
 2020-04-08 |  300
 2020-04-09 |  250

Lectura adicional:Crear base de datos de PostgreSQL


Vamos a crear una función total() que cuente el número de filas en ventas mesa

postgres=# CREATE OR REPLACE FUNCTION total()
           RETURNS integer AS $total$
           declare
             total integer;
           BEGIN
             SELECT count(*) into total FROM sales;
             RETURN total;
          END;
          $total$ LANGUAGE plpgsql;
CREATE FUNCTION

En la consulta anterior, hemos definido la función total() de modo que ejecuta la consulta SQL mencionada entre BEGIN y END y almacena el resultado en la variable declarada $total , que se devuelve después de la ejecución de la función.

Aquí se explica cómo ejecutar la función PostgreSQL

postgres=# select total();
 total
-------
    10

Lectura adicional:Cómo crear un histograma en PostgreSQL

Con suerte, el tutorial anterior lo ayudará a crear una función definida por el usuario y un procedimiento almacenado en PostgreSQL.

Ubiq facilita la visualización de datos en minutos y el monitoreo en paneles en tiempo real. ¡Pruébalo hoy!