Saltar al contenido

Funciones de PostgreSQL – javatpoint

septiembre 28, 2021
postgresql functions1

En esta sección, vamos a entender el funcionamiento del Funciones de PostgreSQL, función de creación comando, y vea el ejemplo en tiempo real de Comando CREATE FUNCTION de PostgreSQL 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 tal como notación posicional denominada 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 estar involucrados usando el Interfaz SQL. Y también se conoce como Procedimientos almacenados de PostgreSQL.

Podemos crear funciones de PostgreSQL en lenguajes serval, por ejemplo, SQL, PL / pgSQL, C, Python, etc.

Nos permite realizar operaciones, que generalmente tomarí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 mando.

Sintaxis del comando de función CREATE de PostgreSQL

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

CREAR [OR REPLACE] FUNCIÓN nombre_función (argumentos) DEVOLUCIONES return_datatype LANGUAGE plpgsql AS $ variable_name $ DECLARE declaración;
[…] – declaración de variable BEGIN

[…] – RETORNO lógico {nombre_variable | valor} END; $$

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

Parámetros Descripción
nombre de la función
  • los 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 de CREAR FUNCIÓN palabra clave.
[OR REPLACE]
  • 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 cubren entre paréntesis después de la Nombre de la función.
  • Y una función puede contener cero o varios parámetros.
REGRESO
  • Podemos definir el tipo de datos después de REGRESO 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 procedimiento.
Function_body
  • los cuerpo_función contiene las partes ejecutables de las lógicas.

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

Veamos un ejemplo diferente para entender el funcionamiento del Función CREATE de PostgreSQL mando.

Estamos tomando el Coche mesa de la Javatpoint 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 Car_Price Entre los Price_from y Price_to parámetros:

Crear función get_car_Price (Price_from int, Price_to int) devuelve int language plpgsql como $$ Declare Car_count integer; Comenzar el recuento de selección

en Car_count desde Car donde Car_price entre Price_from y Price_to; return Car_count; Fin; $$; los get_car_Price La función se divide en dos secciones principales, que sonCuerpo de encabezado y 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 está escrito después de la
  • crear función Después de eso, el get_car_Price () la función contiene dos parámetros Precio desde y Price_to,
  • teniendo un 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 comoplpgsql

. Hemos utilizado los siguientes parámetros en el Función Cuerpo

  • sección: Hemos utilizado elcadena cotizada en dólares ilustración constante en la sección de función, que comienza con $$ y termina con$$
  • . Entre $$ letrero, podemos colocar un bloque, que cubre la declaracion ylógica de la función
  • . En el bloque de declaración, declaramos una variable llamadaCar_count, que almacena los coches seleccionados de la
  • Coche En el cuerpo de la sección de bloque, hemos utilizado elSELECCIONAR EN comando para seleccionar el precio de los coches cuyos valores se encuentran entre Price_from y Price_to y dar la salida a la
  • Car_count Al final del bloque, hemos utilizado el REGRESO

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

pgAdmin:

Paso 1 En primer lugar, abriremos la última versión. pgAdmin en nuestro sistema local, iremos al árbol de objetos y nos conectaremos al Javatpoint

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 Para crear el get_car_Price1 () función, usaremos el código anterior en la herramienta de consulta y haga clic en el Ejecutar

botón. Después de implementar el comando anterior, obtendremos la siguiente ventana de mensaje que muestra que la función get_car_Price1 () ha sido creado

con éxito 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 Actualizar ... elemento de menú para reactivar la lista de funciones:

Función PoatgreSQL

Crear una función usando SQL Shell (psql) Vamos a seguir el proceso a continuación para crear una tabla enpsql

:

  • Paso 1 En primer lugar, abriremos elpsql
  • en nuestro sistema local, y nos conectaremos a la base de datos donde queremos crear una función. Crearemos una tabla en eljavatpoint

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, se emitirá el siguiente error que es: 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 comoget_car_Price1

() en el siguiente paso.

Paso 3 Ingresaremos el siguiente comando para crear una función comoget_car_Price1 () en el javatpoint

base de datos.

javatpoint = # Crear función get_car_Price1 (Price_from int, Price_to int) javatpoint- # devuelve int javatpoint- # language plpgsql javatpoint- # as javatpoint- # $$ javatpoint $ # Declarar javatpoint $ # Car_count integer; javatpoint $ # Comenzar javatpoint $ # seleccionar recuento

javatpoint $ # en Car_count javatpoint $ # desde Car javatpoint $ # donde car_price entre Price_from y 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 con éxito.

Función PoatgreSQL

Paso 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 con nombre

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. Veamos un ejemplo de muestra para comprender el

Notación posicional trabajando para llamar a una función en particular. En el siguiente ejemplo, el get_car_price () los argumentos son 26000y 70000 , que es equivalente al Precio desde y

Price_to

parámetros.

Seleccione get_car_Price (26000,70000); Producción Obtendremos el siguiente resultado al implementar el comando anterior, que recupera esas cuatro filas cuyas precio_coche

está entre

26000 al 70000. Función PoatgreSQLCuando 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 para llamar a la función particular porque usando 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, estamos mostrando el funcionamiento de llamar al

get_car_Price ()

función usando la notación nombrada:

seleccione get_car_Price (Price_from => 26000, Price_to => 70000); ProducciónObtendremos el siguiente resultado al ejecutar el comando anterior, que muestra cuatro filas basadas en el rango anterior de

precio_coche

. Función PoatgreSQL En la notación mencionada anteriormente, hemos utilizado la =>para distinguir el argumento

nombre y valor . PostgreSQL permite la sintaxis más antigua creada en: =Para el

compatibilidad con versiones anteriores

, como podemos ver en el siguiente comando:

seleccione get_car_Price (Price_desde: = 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 anotaciones.

Veamos un ejemplo de muestra para comprender el funcionamiento del Llamar a una función usando notación mixta.En el notación mixta , no podemos usar el Parámetros nombradosantes de

Parámetros posicionales

. Por ejemplo: En el siguiente comando, usaremos el noción nombrada por Precio desde parámetro como Precio_desde => 26000, mientras que para el Price_to parámetro, hemos utilizado el noción posicionalcomo

70000

, como podemos ver en el siguiente comando:

seleccione get_car_Price (Price_from => 26000,70000); ProducciónDespué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 usando el notación posicional y con nombre por el get_car_price () función donde el 26000 se utiliza para representar el Notación posicional; por otra parte, Price_to => 70000se utiliza para representar el

notación nombrada

:

seleccione get_car_Price (26000, Price_to => 70000); Producción Después de ejecutar el comando anterior, obtendremos el siguiente resultado, que devuelve aquellos autos cuyos

precio_coche

está entre 26000 y 70000.

Función PoatgreSQL Visión general En el

  • Función PostgreSQL sección, hemos aprendido los siguientes temas:Hemos utilizado el
  • Función CREAR 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.

close