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 |
|
[O REEMPLAZAR] |
|
Función |
|
DEVOLVER |
|
Idioma plpgsql |
|
cuerpo_función |
|
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
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:
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.
Y podemos identificar la función. get_car_Price() en el Funciones lista como podemos ver en la siguiente captura de pantalla:
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:
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:
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.
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.
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:
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:
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.
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 .
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 ':=' .
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. .
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.
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.