Игорь
Новичок
Получить cursor и выбрать из него данные
Здравствуйте.
Мигрировал на PostgreSQL с Oracle, при использовании которого сложностей с курсорами не испытывал. Спокойно получал курсор, fetch`ил его на стороне вебсервера, и парсил страничку.
С PostgreSQL такого не получается. Вроде бы не проблема получить курсор:
Но вот что с ним делать дальше?
Вроде как в мануале по PHP об этом тишина. На ум приходит ещё возможность получить набор данных средствами СУБД, но вот как получить данные вне блока pl/pgsql?
-~{}~ 28.05.07 18:03:
Делать дальше с ним следующее:
Здравствуйте.
Мигрировал на PostgreSQL с Oracle, при использовании которого сложностей с курсорами не испытывал. Спокойно получал курсор, fetch`ил его на стороне вебсервера, и парсил страничку.
С PostgreSQL такого не получается. Вроде бы не проблема получить курсор:
Код:
CREATE OR REPLACE FUNCTION "gps"."tst_func" () RETURNS "pg_catalog"."refcursor" AS
$body$
declare
cur1 cursor for select * from gps.providers;
begin
open cur1;
return cur1;
end;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
Вроде как в мануале по PHP об этом тишина. На ум приходит ещё возможность получить набор данных средствами СУБД, но вот как получить данные вне блока pl/pgsql?
-~{}~ 28.05.07 18:03:
Делать дальше с ним следующее:
Код:
<?php
include_once("../my_vars.php");
$res = pg_query("begin; select * from gps.tst_func('2007-05-28'::date, 14); fetch all from cur1;");
while ($row = pg_fetch_array($res)) {
echo $row[0];
echo "<br>";
}
pg_free_result($res);
pg_query("commit;");
pg_close($dbconn);
?>