Появляется ошибка Return type cannot be empty

впервые работал в pgAdmin 4. Пытался написать функцию, но я не могу ее даже сохранить, постгрес жалуется "Return type cannot be empty". Просил Гпт переписать, в итоге он тоже не помощник. Вот код функции. Помогите пожалуйста исправить ошибку.

CREATE OR REPLACE FUNCTION find_cheapest_pharmacy(
    pdrugname VARCHAR(30),
    pquantity INTEGER
)
RETURNS TABLE (
    pharmacy_id INTEGER ,
    pharmacyname VARCHAR(30) ,
    pharmacyadress VARCHAR(30) ,
    packprice INTEGER 
) AS
$$
DECLARE
    drug_id INTEGER;
    min_price INTEGER;
BEGIN
    -- Поиск DRUG_ID по названию лекарства
    SELECT d.drug_id
    INTO drug_id
    FROM drug d
    WHERE d.drugname = pdrugname;

    -- Если лекарство не найдено, выбрасываем исключение
    IF drug_id IS NULL THEN
        RAISE EXCEPTION 'Drug not found';
    END IF;

    -- Поиск минимальной цены среди аптек с достаточным количеством лекарства
    SELECT MIN(pd.packprice)
    INTO min_price
    FROM pharmacydrug pd
    WHERE pd.drug_id = drug_id
      AND pd.drugsamount >= pquantity;

    -- Если минимальная цена не найдена, выводим сообщение
    IF min_price IS NULL THEN
        RAISE EXCEPTION 'No pharmacy found with enough quantity for the drug %', pdrugname;
    END IF;

    -- Поиск аптеки с минимальной ценой
    RETURN QUERY
    SELECT p.pharmacy_id, p.pharmacyname, p.pharmacyadress, pd.packprice
    FROM pharmacydrug pd
    JOIN pharmacy p ON pd.pharmacy_id = p.pharmacy_id
    WHERE pd.drug_id = drug_id
      AND pd.drugsamount >= pquantity
      AND pd.packprice = min_price;
END;
$$ LANGUAGE plpgsql;


Ответы (1 шт):

Автор решения: user625044

Извините за такой дурацкий вопрос, я просто не посмотрел на еще одно поле куда надо вписывать тип возвращаемого результата... Вопрос закрыт

→ Ссылка