powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Функция возвращающая массив в виде json
2 сообщений из 2, страница 1 из 1
Функция возвращающая массив в виде json
    #40119655
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, в интернете на столько много примеров с вариантами работы с json, что даже растерялся.
Вопрос такой:

Есть postgreSQL v. 9.6.12
Есть функция:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
CREATE OR REPLACE FUNCTION sch.f_statistic(rowcount bigint, rowoffset bigint, sortString varchar)
 RETURNS TABLE(stat_id character varying, stat_datetime character varying, stat_sm_type character varying, page_size bigint, nrows bigint)
 LANGUAGE plpgsql
AS $function$  
declare
  queryStr text;
  	 
begin
             	
  queryStr = 'select * from ' ||
 	     '(select *, count(*) over() as page_size, row_number() over(order by ' || sortString || ') as nrows from sch.f_statistic_all()) as pre' || 
 	     ' where nrows >= ' || rowoffset ||
 	     ' and nrows < ' || rowoffset + rowcount || ' order by nrows;';	
  return query execute queryStr;
 
end;
$function$;



Как мне её переделать, чтобы вместо таблицы она возвращала json типа:

Код: sql
1.
array_to_json(array_agg(row_to_json(c))) FROM <мой набор данных queryStr>
...
Рейтинг: 0 / 0
Функция возвращающая массив в виде json
    #40123370
kliff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MAULER,

да наверное просто json и вернуть

авторCREATE OR REPLACE FUNCTION sch.f_statistic(rowcount bigint, rowoffset bigint, sortString varchar)
RETURNS json
LANGUAGE plpgsql
AS $function$
declare
res json;
begin

select array_to_json(array_agg(row_to_json(pre.*))) from
(select *, count(*) over() as page_size, row_number() over(order by sortString ) as nrows from sch.f_statistic_all()) as pre
where nrows >= rowoffset
and nrows < rowoffset + rowcount order by nrows INTO res;
return res;
end;
$function$;
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Функция возвращающая массив в виде json
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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