Отсутствие назначения для данных в функции pl/sql
Добрый день. Обращаюсь прежде всего к тем кто юзает хорошо pl/sql от postgres. Пишу такую функцию:
create or replace function train_status_act(
IN in_id bigint,
IN new_act_approved bigint,
out out_id bigint
)
as
$body$
declare cur_act_approved bigint;
begin
if in_id is not null then
select
cur_act_approved
from train_act where (id = in_id);
if cur_act_approved is not null then
update train_act set
act_approved = coalesce(new_act_approved, cur_act_approved)
where id = in_id;
else
perform err('Запись не найдена!', 'P1001');
end if;
out_id = in_id;
else
out_id = 0;
end if;
end;
$body$
language plpgsql security definer volatile cost 100;
ALTER FUNCTION train_status_act(bigint, bigint)
OWNER TO nb;
Потом вызываю:
select train_status_act(1, 0);
И пишет ошибку: В запросе нет назначения для данных результата. Потому и спрашиваю, кто может сказать в чем тут ошибка? Вроде, код простой...
Источник: Stack Overflow на русском