logo

Funciones de PostgreSQL

En esta sección, vamos a entender el funcionamiento del Funciones de PostgreSQL, crear función comando y vea el ejemplo en tiempo real de Comando PostgreSQL CREAR FUNCIÓN utilizando las diferentes herramientas de PostgreSQL como pgadmin4 y Shell SQL (PSQL).

Y vea el ejemplo de llamar a un función definida por el usuario como notación posicional llamada notación, la notación mixta.

¿Qué es la función PostgreSQL?

Una función de PostgreSQL o una procedimiento almacenado es un conjunto de comandos SQL y de procedimiento como declaraciones, asignaciones, bucles, flujo de control etc. almacenados en el servidor de la base de datos y pueden ser involucrados usando el interfaz SQL . Y también se le conoce como Procedimientos almacenados de PostgreSQL .

Podemos crear funciones PostgreSQL en lenguajes serval, por ejemplo, SQL , PL/pgSQL , C , Pitón etc.

Nos permite realizar operaciones, que generalmente requerirían varios comandos y viajes de ida y vuelta en una función dentro de la base de datos.

¿Qué es el comando de función CREATE de PostgreSQL?

En PostgreSQL, si queremos especificar una nueva función definida por el usuario, podemos usar el CREAR FUNCIÓN dominio.

Sintaxis del comando de función CREATE de PostgreSQL

La sintaxis para Comando de función CREAR de PostgreSQL es como sigue:

 CREATE [OR REPLACE] FUNCTION function_name (arguments) RETURNS return_datatype LANGUAGE plpgsql AS $variable_name$ DECLARE declaration; [...] -- variable declaration BEGIN [...] -- logic RETURN variable_name END; $$ 

En la sintaxis anterior, hemos utilizado los siguientes parámetros, como se muestra en la siguiente tabla:

escáner en java
Parámetros Descripción
nombre de la función
  • El nombre de la función El parámetro se utiliza para definir el nombre de la función.
  • El nombre de la función se escribe después del CREAR FUNCIÓN palabra clave.
[O REEMPLAZAR]
  • Podemos usar el O REEMPLAZAR palabra clave si queremos cambiar la función actual.
  • Y es un parámetro opcional.
Función
  • Después de usar el O REEMPLAZAR palabra clave, podemos definir la función lista de parámetros que se tratan entre paréntesis después del Nombre de la función.
  • Y una función puede contener cero o varios parámetros.
DEVOLVER
  • Podemos definir el tipo de datos después del DEVOLVER palabra clave, que vamos a devolver de la función.
  • Puede ser un tipo base, compuesto o de dominio o una referencia del tipo de columna de una tabla.
Idioma plpgsql
  • Se utiliza para definir el nombre del lenguaje de procedimiento en el que se ejecuta la función.
  • Y no solo plpgsql, PostgreSQL admite varios lenguajes de procedimientos.
cuerpo_función
  • El cuerpo_función Contiene las partes ejecutables de la lógica.

Ejemplo de comando de creación de función de PostgreSQL

Veamos un ejemplo diferente para entender el funcionamiento del Función CREAR de PostgreSQL dominio.

estamos tomando el Auto mesa de la Punto Java base de datos, creada en el Tutorial de PostgreSQL.

Creando una nueva función

En el siguiente comando, estamos creando una nueva función, que cuenta el Carros cuyo Precio_coche Entre los Precio_desde y Precio_hasta parámetros:

 Create function get_car_Price(Price_from int, Price_to int) returns int language plpgsql as $$ Declare Car_count integer; Begin select count(*) into Car_count from Car where Car_price between Price_from and Price_to; return Car_count; End; $$; 

El get_car_Price La función se divide en dos secciones principales, que son Encabezado y cuerpo de función .

Hemos utilizado los siguientes parámetros en el Encabezamiento sección:

  • Principalmente, especificamos el nombre de la función como get_car_Price(), que se escribe después del crear función
  • Después de eso, el get_car_Price() La función contiene dos parámetros. Precio desde y Precio_hasta, tener tipo de datos entero.
  • Entonces el get_car_Price() La función recupera un número entero definido por la condición return int.
  • Y al final, hemos utilizado el lenguaje de funciones como plpgsql .

Hemos utilizado los siguientes parámetros en el Cuerpo de función sección:

  • Hemos utilizado el cadena cotizada en dólares ilustración constante en la sección de funciones, que comienza con $$ y termina con $$ .
  • Entre $$ signo, podemos colocar un bloque, que cubre la declaracion y lógica de la función .
  • En el bloque de declaración, declaramos una variable llamada recuento_de_autos, que almacena los coches seleccionados de la Auto
  • En el cuerpo de la sección del bloque, hemos utilizado el SELECCIONAR EN comando para seleccionar el Precio de los autos cuyos valores están entre Precio_desde y Precio_hasta y dar la salida al cuenta_autos
  • Al final del bloque, hemos utilizado el DEVOLVER comando para obtener el

Creando una función en PostgreSQL

En PostgreSQL podemos crear una función de dos formas:

    Función de creación de PostgreSQL usando pgAdmin Función de creación de PostgreSQL usando SQL Shell

Función de creación de PostgreSQL usando pgAdmin

Vamos a seguir el proceso a continuación para crear una función en administrador de página:

Paso 1

En primer lugar, abriremos la última versión. pgAdmin en nuestro sistema local, iremos al árbol de objetos y nos conectaremos al Punto Java base de datos de muestra en la que queremos crear una función.

Paso 2

Después de eso, abriremos la herramienta de consulta haciendo clic en La herramienta de consulta siguió la sección Herramientas, como podemos ver en la siguiente captura de pantalla:

Función PoatgreSQL2

Paso 3

cadena a int java

para crear el get_car_Price1() función, usaremos el código anterior en el herramienta de consulta y haga clic en el Ejecutar botón.

Después de implementar el comando anterior, aparecerá la siguiente ventana de mensaje que muestra que la función get_car_Price1() ha sido creado exitosamente en una base de datos similar.

Función PoatgreSQL

Y podemos identificar la función. get_car_Price() en el Funciones lista como podemos ver en la siguiente captura de pantalla:

Función PoatgreSQL

Nota: Si no podemos identificar el nombre de la función, podemos hacer clic con el botón derecho en el nodo Funciones y seleccionar el elemento de menú Actualizar... para reactivar la lista de funciones:

Función PoatgreSQL

Crear una función usando SQL Shell (psql)

Seguiremos el siguiente proceso para crear una tabla en psql :

Paso 1

  • En primer lugar abriremos el psql en nuestro sistema local, y nos conectaremos a la base de datos donde queremos crear una función.
  • Crearemos una tabla en el punto javat base de datos, que creamos anteriormente en el tutorial de PostgreSQL.

Paso 2

  • Para conectar una base de datos, ingresaremos el siguiente comando:
 c javatpoint 

Producción

Después de ejecutar el comando anterior, obtendremos el siguiente resultado:

Función PoatgreSQL

Nota: Si ingresamos un comando similar al anterior para crear una función, en psql, emitirá el siguiente error: la función get_car_price ya existe con los mismos tipos de argumentos.

Función PoatgreSQL

Por lo tanto, para resolver este error, creamos una nueva función como get_car_Price1 () en el siguiente paso.

Paso 3

ventajas de la electricidad

Ingresaremos el siguiente comando para crear una función. como get_car_Price1 () en el punto javat base de datos.

 javatpoint=# Create function get_car_Price1(Price_from int, Price_to int) javatpoint-# returns int javatpoint-# language plpgsql javatpoint-# as javatpoint-# $$ javatpoint$# Declare javatpoint$# Car_count integer; javatpoint$# Begin javatpoint$# select count(*) javatpoint$# into Car_count javatpoint$# from Car javatpoint$# where car_price between Price_from and Price_to; javatpoint$# return Price_count; javatpoint$# End; javatpoint$# $$; 

Producción

Obtendremos el siguiente resultado al implementar el comando anterior, que muestra que el get_car_Price_count1() La función se ha creado correctamente.

Función PoatgreSQL

Etapa 4

Podemos usar el siguiente comando para enumerar todas las funciones definidas por el usuario en la base de datos existente.

 javatpoint=# df 

Producción

Después de ejecutar el comando anterior, obtendremos el siguiente resultado:

Función PoatgreSQL

Cómo llamar a una función definida por el usuario

En PostgreSQL, podemos llamar a la función definida por el usuario de tres formas, que son las siguientes:

    Notación posicional notación nombrada La notación mixta

Llamar a una función usando notación posicional

Si queremos describir los argumentos en un orden similar a los parámetros, podemos llamar a una función con el notación posicional ayuda.

cómo leer desde un archivo csv en java

Veamos un ejemplo de muestra para entender el Notación posicional trabajando para llamar a una función particular.

En el siguiente ejemplo, el obtener_precio_coche() los argumentos son 26000 y 70000 , que equivale a la Precio desde y Precio_hasta parámetros.

 Select get_car_Price(26000,70000); 

Producción

Obtendremos el siguiente resultado al implementar el comando anterior, que recupera esas cuatro filas cuyo precio_auto está entre 26000 a 70000.

Función PoatgreSQL

Cuando la función apenas tiene parámetros, podemos llamar a una función con la ayuda del notación posicional .

Si la función contiene varios parámetros, podemos usar el notación nombrada llamar a la función particular porque usar el notación nombrada hará que la llamada a la función sea más comprensible.

Llamar a una función usando notación con nombre

En el siguiente ejemplo, mostramos el funcionamiento de llamar al get_car_Price() función usando la notación nombrada:

 select get_car_Price( Price_from => 26000, Price_to => 70000 ); 

Producción

Obtendremos el siguiente resultado al ejecutar el comando anterior, que muestra cuatro filas según el rango anterior de precio_auto .

Función PoatgreSQL

En la notación mencionada anteriormente, hemos utilizado la => para distinguir el argumento nombre y valor .

PostgreSQL permite crear la sintaxis anterior en := Para el compatibilidad con versiones anteriores , como podemos ver en el siguiente comando:

 select get_car_Price( Price_from := 26000, Price_to := 70000 ); 

Producción

Después de ejecutar el comando anterior, obtendremos un resultado similar en comparación con el resultado del comando anterior donde usamos el ' =>' en lugar de ':=' .

Función PoatgreSQL

Llamar a una función usando la notación mixta

Es la agrupación de posicional y nombrado notaciones.

Veamos un ejemplo de muestra para entender el funcionamiento del Llamar a una función usando notación mixta.

En el notación mixta , no podemos utilizar el Parámetros nombrados antes Parámetros posicionales .

Por ejemplo:

En el siguiente comando, usaremos el noción nombrada para Precio desde parámetro como Precio_desde=>26000, mientras que para el Precio_hasta parámetro, hemos utilizado el noción posicional como 70000 , como podemos ver en el siguiente comando:

que meses son q1
 select get_car_Price(Price_from=>26000,70000); 

Producción

Después de ejecutar el comando anterior, PostgreSQL genera un error que dice que el El argumento posicional no puede seguir al argumento nombrado. .

Función PoatgreSQL

Para resolver el error anterior, estamos utilizando el notación posicional y nombrada para el get_car_price() función donde el 26000 se utiliza para representar el Notación posicional; por otro lado, Precio_a=>70000 se utiliza para representar el notación nombrada :

 select get_car_Price(26000,Price_to=>70000); 

Producción

Después de ejecutar el comando anterior, obtendremos el siguiente resultado, que devuelve aquellos autos cuyo precio_auto está entre 26000 y 70000.

Función PoatgreSQL

Descripción general

En el Función PostgreSQL sección, hemos aprendido los siguientes temas:

  • Hemos utilizado el CREAR Función comando para crear una función definida por el usuario para la tabla en particular.
  • Hemos entendido el proceso de llamar a una función definida por el usuario con la ayuda de diferentes notaciones como Posicional, Nombrado y Mixto.