powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблема с ХП
3 сообщений из 3, страница 1 из 1
Проблема с ХП
    #33164753
Fozzi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. Проблема скорей всего не нова, но у меня что-то не получается.
Добаляю язык:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE OR REPLACE FUNCTION plpgsql_call_handler()
  RETURNS language_handler AS
'/usr/local/pgsql/lib/plpgsql.so', 'plpgsql_call_handler'
  LANGUAGE 'c' VOLATILE;
CREATE OR REPLACE FUNCTION plpgsql_validator(oid)
  RETURNS void AS
'/usr/local/pgsql/lib/plpgsql.so', 'plpgsql_validator'
  LANGUAGE 'c' VOLATILE;
 CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql'
  HANDLER plpgsql_call_handler;

создаю тип:

Код: plaintext
1.
2.
3.
4.
CREATE TYPE in_out_traf AS
   (ip_addr inet,
    in_traf int4,
    out_traf int4);
Затем создаю ХП
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE OR REPLACE FUNCTION test() RETURNS SETOF in_out_traf AS
$$
declare 
    r in_out_traf;
begin
    r.ip_addr = '192.168.1.1';
    r.in_traf =  123 ;
    r.out_traf =  789 ;
 return next r;
end
$$
LANGUAGE plpgsql;

после запроса
Код: plaintext
1.
select test();

выдается ошибка:
ERROR: set-valued function called in context that cannot accept a set
CONTEXT: PL/pgSQL function "test" while casting return value to function's return type

Как побороть?
...
Рейтинг: 0 / 0
Проблема с ХП
    #33164807
MaximZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что то не очсень понятно, вы объявляете функцию возвращающую множество значений, и возвращаете только одно?
Кстати, тогда надо в конце поставить просто RETURN;.
При том возвращаемый вами тип должен иметь объявление внутри функции как минимум в таком виде:

r in_out_traf%rowtype;

еще, вызывать функцию возвращающую множество значений надо так:

select * from test();

и последнее:

читайте документацию, книжки и т.п.
...
Рейтинг: 0 / 0
Проблема с ХП
    #33165195
Fozzi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, все заработало.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблема с ХП
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]