Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PostgreSQL > Функции Postgres


Автор: ChiciucMaxim 12.4.2009, 22:08
Нужно выполнить запрос с данными из нескольких таблиц. Это нужно сделать это в хранимой процедуре, и вызвать ее из .net. Данный подход дает ошибку:
Код

CREATE OR REPLACE FUNCTION test2()
RETURNS SETOF record AS'
DECLARE
    r record;
BEGIN
    for r in SELECT * FROM messages_wall INNER JOIN location ON
         messages_wall.id = location.id
         loop
    return next r;
    end loop;
end; '
LANGUAGE 'plpgsql'

ERROR: a column definition list is required for functions returning "record". Как мне поступить?

Автор: msr 13.4.2009, 03:53
Цитата

Как мне поступить?


Не мешало бы почитать документацию.
Тип record предполагает, что позже колонки все-таки будут определены - чего вы не делаете и что говорится в ошибке.

Код

select t.col1, t.col2  from test2() t(col1 int,col2 text,col3 xml)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)