Функции на языке PL/pgSQL для выборки данных из таблицы

Статус
Закрыто для дальнейших ответов.

VladimirBuzin

Member
Регистрация
18.03.2018
Сообщения
19
Добрый день! Нужно вывести пациентов из таблицы patient_new с идентификатором patient_id, большим нижней границы. Я написал функцию:

CREATE FUNCTION patient_id_search_plpgsql(patnum int)
RETURNS TABLE(patient_id int, surname CHAR(30), name CHAR(30), temperament CHAR(30)) AS $$
BEGIN
RETURN QUERY SELECT patient_id, surname, name, temperament
FROM patient_mew WHERE patient_id > patnum;
END;
$$ LANGUAGE plpgsql;

Как вызвать эту функцию? Я пытался писать:

SELECT * FROM patient_id_search_plpgsql(11);

и ничего не вышло. Сможете указать ошибки? Как подключить язык PL/pgSQL в pgadmin 4?
 

VladimirBuzin

Member
Регистрация
18.03.2018
Сообщения
19
Там опечатка. Имя таблицы - patient_new. Но всё равно высветились ошибки:
Код:
ERROR: column reference "patient_id" is ambiguous
LINE 1: SELECT patient_id, surname, name, temperament 
^
DETAIL: It could refer to either a PL/pgSQL variable or a table column.
QUERY: SELECT patient_id, surname, name, temperament 
FROM patient_new WHERE patient_id > patnum
CONTEXT: PL/pgSQL function patient_id_search_plpgsql(integer) line 3 at RETURN QUERY
SQL state: 42702
 
Статус
Закрыто для дальнейших ответов.
Верх Низ