Массив и курсор

senich

Новичок
Массив и курсор

Доброго времени суток. к примеру есть такая функция:

PHP:
CREATE OR REPLACE FUNCTION "public"."test_test" (i_data "pg_catalog"."refcursor") RETURNS "pg_catalog"."refcursor" AS
$body$
DECLARE
p_data ALIAS FOR $1;

out_rec record;

p_num integer;
p_name varchar[];
p_alias varchar[];
p_value varchar[];

BEGIN
    
p_name[1] := 'name1';
p_alias[1] := 'alias1';
p_value[1] := 'value1';
p_name[2] := 'name2';
p_alias[2] := 'alias2';
p_value[2] := 'value2'; 
p_num := 2;
 
       
      OPEN p_data FOR
      SELECT p_num as num,
      p_name as name,
      p_alias as alias,
      p_value as value;
      RETURN p_data;

END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
т.е. переменные p_name, p_alias и p_value массивы. но при получении данных в пхп, ADO DB возвращает эти значения как строки вида p_alais => '{alias1,alias2}', p_name => '{name1,name2}' а как без написания обработки можно получить php массив?
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: senich
Доброго времени суток. к примеру есть такая функция:

PHP:
CREATE OR REPLACE FUNCTION "public"."test_test" (i_data "pg_catalog"."refcursor") RETURNS "pg_catalog"."refcursor" AS
$body$
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
т.е. переменные p_name, p_alias и p_value массивы. но при получении данных в пхп, ADO DB возвращает эти значения как строки вида p_alais => '{alias1,alias2}', p_name => '{name1,name2}' а как без написания обработки можно получить php массив?
А причём тут вообще какие-то "CREATE FUNCTION", "ADO DB" и т.п. ботва? Пэхапэшный модуль для PostgreSQL все имеющиеся типы возвращает как строки.
 

senich

Новичок
Автор оригинала: Sad Spirit
А причём тут вообще какие-то "CREATE FUNCTION", "ADO DB" и т.п. ботва?
в смысле причем? есть хранимая процедура её результаты надо получить в php части, делаю я это с помощью ado db вот такая вот ботва.

Автор оригинала: Sad Spirit
Пэхапэшный модуль для PostgreSQL все имеющиеся типы возвращает как строки.
вот вот это меня и интересует. спасибо.
 
Сверху