Función PostgreSQL para devolver una tabla

Funcion Postgresql Para Devolver Una Tabla



A veces, es posible que desee crear una función que devuelva una tabla en su base de datos PostgreSQL para encapsular el conjunto de resultados. Es posible crear una función 'pgSQL' que le permita recuperar los registros y utilice una consulta de retorno que muestre el conjunto de resultados como una tabla. Esta publicación lo guiará en la creación de una función PostgreSQL que devuelva una tabla.

Cómo crear una función PostgreSQL para devolver una tabla

Cuando tiene una base de datos PostgreSQL y desea verificar los registros de la tabla, usar una función periódicamente es la forma más conveniente, especialmente una función PostgreSQL que devuelve una tabla en su conjunto de resultados. De esta manera, encapsula su conjunto de resultados y el uso de este enfoque ayuda a organizar mejor el código.

La siguiente es la sintaxis para crear una función PostgreSQL que devuelve una tabla:







CREAR O REEMPLAZAR FUNCIÓN nombre_función(lista_parámetros)

TABLA DE DEVOLUCIONES (lista_columnas)

COMO $$

COMENZAR CONSULTA DE DEVOLUCIÓN (consulta);

FIN;

$$ IDIOMA plpgsql

Lo bueno de crear este tipo de funciones es que le permite especificar varias “column_list” en lugar de devolver un único valor de su tabla. Pongamos dos ejemplos que nos ayuden a entender qué pasos seguir.



Ejemplo 1: trabajar con una sola entrada

Al crear una función que devuelve una tabla, debe proporcionar el argumento que se utilizará con la consulta de devolución. El argumento puede ser un patrón o una entrada específica. Este ejemplo muestra un caso en el que utilizamos una única entrada como argumento.



La siguiente es la tabla de “estudiantes” que usaremos para nuestra consulta:





En la siguiente imagen, creamos una función llamada 'get_student' que toma un INT como argumento. En la sección TABLA DE DEVOLUCIONES, devolvemos una tabla con cuatro columnas: “student_id”, “student_name”, “student_faculty” y “current_status”.



Todas estas columnas obtienen sus valores de la consulta de retorno que definimos. Observe que la consulta de retorno usa una declaración WHERE usando la lista de parámetros que especificamos al crear la función.

Una vez que cree la función, obtendrá un resultado similar al que teníamos anteriormente, que confirma que su función PostgreSQL se creó correctamente. Para verificar esto más a fondo, ejecute el siguiente comando para enumerar las funciones disponibles:

\df *get_student();

Agregamos los asteriscos para que coincidan con cualquier función que tenga el nombre especificado. El resultado muestra que tenemos nuestra función PostgreSQL en nuestra base de datos.

El último paso es probar la función creada. Ejecute la instrucción 'select' para llamar a la función. Luego, agregue el argumento esperado. Para nuestro caso, el parámetro es de tipo INT. Por lo tanto, agregamos 1 como argumento para recuperar los registros que coinciden y devolver una tabla como se muestra a continuación:

Ejemplo 2: trabajar con un patrón de entrada

Cuando no esté seguro del valor que se utilizará con la consulta de devolución, puede utilizar el operador ILIKE para hacer coincidir un patrón determinado. Por ejemplo, si tiene un nombre y solo conoce una sección de la cadena, el operador ILIKE le permite usar el símbolo '%' para definir cómo será su patrón.

Usamos la siguiente tabla para este caso y apuntamos a la columna de nombre:

Creamos una función similar a la que hicimos antes. Sin embargo, el tipo de parámetro ha cambiado y la consulta de retorno utiliza el operador ILIKE que se agrega como argumento al llamar a la función.

Una vez que la función esté lista, podemos llamarla para devolver la tabla. Hay diferentes maneras de hacerlo. Por ejemplo, si el patrón de búsqueda contiene 'Jo' en la cadena, ejecutamos la consulta del comando de la siguiente manera:

Seleccione * de get_details('%Jo%');

Hacemos coincidir todos los valores con 'Jo' en su cadena, lo que nos da dos registros.

Si solo conocemos la última parte de una cadena, torcemos la consulta y la ejecutamos de la siguiente manera:

Seleccione * de get_details('%Tyson');

Por último, si conocemos la primera parte de la cadena, agregamos el símbolo “&” después del patrón como se muestra a continuación:

Seleccione * de get_details('Tim%');

Esos son los diferentes ejemplos sobre cómo utilizar la función PostgreSQL para devolver una tabla.

Conclusión

PostgreSQL es una poderosa base de datos con numerosas funciones. Al crear funciones, puede configurarlas para que devuelvan una tabla como conjunto de resultados por diferentes motivos, incluido lograr la encapsulación. Esta publicación presentó dos ejemplos de creación y uso de una función que devuelve una tabla en PostgreSQL.