0
я пытаюсь создать эту функцию, но я получаю эту ошибку: ERROR: «Макс» не является известной переменнойPostgreSQL агрегатная функция внутри цикла
, но, если я использую один из агрегатных функций работает отлично, но не обе функции в то же время
CREATE OR REPLACE FUNCTION "GerarTeste"()
RETURNS BOOL AS
$BODY$
DECLARE
inicio date;
fim date;
rResult record;
BEGIN
FOR rResult IN
SELECT DISTINCT lote
FROM fatura
ORDER BY lote
LOOP
SELECT
MIN(fatura.inicio) INTO inicio ,MAX(fatura.inicio) into fim
FROM fatura
WHERE lote = rResult.lote;
RAISE NOTICE '%',inicio;
END LOOP;
RETURN true;
END;
$BODY$
LANGUAGE 'plpgsql';
Я не понимаю, цель этой функции. Это чрезвычайно сложный и дорогой способ написать 'return true; ' –
И нет необходимости в цикле. Вы можете просто сделать 'select .. where lote in (select lote from fatura)' и избавиться от медленного цикла –
- это всего лишь пример .... –