Задать вопрос

Как задать тип данных в функциях postgresql?

Суть: необходимо сделать в функции цикл по результатам SELECTа. Простой вариант:
v versions%rowtype;
FOR v IN
    select * from versions ver where iddoc=doc_id 
LOOP
    ver_id:=COALESCE(v.id,'-1');
    ver_num:=COALESCE(v.number,'-1');
    res:= ver_id || ver_num;
END LOOP;


тут versions - это таблица с определенным набором столбцов. но мне нужно выполнить цикл по
select *, verstatus(id) from versions ver where iddoc=doc_id
где verstatus(id) - функция выводящая доп инфу в зависимости от id, т е этот столбец не присутствует в versions...

получиться должно что то типа:
v ???(versions + other_column)%rowtype;
FOR v IN
    select *, verstatus(id) from versions ver where iddoc=doc_id 
LOOP
    ver_id:=COALESCE(v.id,'-1');
    ver_num:=COALESCE(v.number,'-1');
    ver_stat:=COALESCE(v.verstatus, '' );
    res:= ver_id || ver_num || ver_stat;
END LOOP;
  • Вопрос задан
  • 256 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы