Cómo llamar a una función creada en PgAdmin
Creé una función SQL dinámica por primera vez y me pregunto cuál es la forma correcta de llamar a la función. Aquí está el código:
CREATE OR REPLACE FUNCTION functions.search_function(_columns text)
RETURNS TABLE(student text,
student_id text,
professor_name text,
subject text,
subject_time text,
room_number text,
building text)
LANGUAGE plpgsql AS
$func$
DECLARE
_columns text := 'student_id::text, subject_timetime::text, building::text';
BEGIN
RETURN QUERY EXECUTE '
SELECT
student,
professor_name,
subject,
room_number,
' || _columns || '
FROM "school_records_table" ';
USING _columns;
END
$func$;
He estado recibiendo un error cuando intento esto:
SELECT functions.searchandfilter2_function(
('students') )
davy.ai
La forma correcta de llamar a la función sería:
Esto devolverá una tabla con las columnas seleccionadas de la “school_records_table”.
En el código proporcionado, parece haber una discrepancia entre el nombre de la función “search_function” y la función que se está llamando “searchandfilter2_function”. Además, el parámetro de entrada debe ser una cadena con las columnas deseadas, no solo ‘students’.
Asegúrese de reemplazar la declaración de texto “_columns” dentro de la función con el parámetro de entrada que se le pase.