Преобразовать функцию PostgreSQL в PostgreSQL хранимая процедура - PullRequest
1 голос
/ 31 марта 2020

Я перенес схему из oracle в postgreSQL, используя AWS -SCT, пакеты преобразуются в функции в postgreSQL. Мне нужно преобразовать эту функцию в процедуру для сжатия с кодом в промежуточном программном обеспечении приложения.

Я пытался преобразовать в процедуру, каждый раз, когда я получаю сообщение об ошибке типа SQL state: 42601 и inout parameter are permitted

Пожалуйста, помогите преобразовать функцию в процедуру.

CREATE OR REPLACE Function "pk_audfreq$sp_audfreq"(
    OUT out_a double precision,
    OUT out_b double precision,
    OUT out_c double precision)
    RETURNS record
    LANGUAGE 'plpgsql'
    COST 100
    VOLATILE 
AS $BODY$
DECLARE
BEGIN    
    SELECT
        MIN(audresponsetime), AVG(audresponsetime), MAX(audresponsetime)
        INTO STRICT out_a, out_b, out_c
        FROM public.audio_freq;        
    END;
$BODY$;

1 Ответ

1 голос
/ 31 марта 2020

Вы не можете иметь OUT параметров с процедурами (пока). Поскольку документация гласит:

OUT аргументы в настоящее время не поддерживаются для процедур. Вместо этого используйте INOUT.

...