dblink_fetch
dblink_fetch â возвÑаÑÐ°ÐµÑ ÑÑÑоки из оÑкÑÑÑого кÑÑÑоÑа в ÑдалÑнной базе даннÑÑ
СинÑакÑиÑ
dblink_fetch(text cursorname, int howmany [, bool fail_on_error]) returns setof record dblink_fetch(text connname, text cursorname, int howmany [, bool fail_on_error]) returns setof record
ÐпиÑание
dblink_fetch вÑбиÑÐ°ÐµÑ ÑÑÑоки из кÑÑÑоÑа, Ñанее оÑкÑÑÑого ÑÑнкÑией dblink_open.
ÐÑгÑменÑÑ
connnameÐÐ¼Ñ Ð¸ÑполÑзÑемого подклÑÑениÑ; опÑÑÑиÑе ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ, ÑÑÐ¾Ð±Ñ Ð¸ÑполÑзоваÑÑ Ð±ÐµÐ·ÑмÑнное подклÑÑение.
cursornameÐÐ¼Ñ ÐºÑÑÑоÑа, из коÑоÑого вÑбиÑаÑÑÑÑ Ð´Ð°Ð½Ð½Ñе.
howmanyÐакÑималÑное ÑиÑло ÑÑÑок, коÑоÑое нÑжно полÑÑиÑÑ. ÐÐ°Ð½Ð½Ð°Ñ ÑÑнкÑÐ¸Ñ Ð²ÑбиÑÐ°ÐµÑ ÑеÑез кÑÑÑÐ¾Ñ ÑледÑÑÑие
howmanyÑÑÑок, наÑÐ¸Ð½Ð°Ñ Ñ ÑекÑÑей позиÑии кÑÑÑоÑа и двигаÑÑÑ Ð²Ð¿ÐµÑÑд. Ðогда кÑÑÑÐ¾Ñ Ð´Ð¾Ñ Ð¾Ð´Ð¸Ñ Ð´Ð¾ конÑа, ÑÑÑоки болÑÑе не вÑдаÑÑÑÑ.fail_on_errorÐÑли Ñавен true (ÑÑо знаÑение по ÑмолÑаниÑ), в ÑлÑÑае оÑибки, вÑданной на ÑдалÑнной ÑÑоÑоне ÑоединениÑ, оÑибка Ñакже вÑдаÑÑÑÑ Ð»Ð¾ÐºÐ°Ð»Ñно. ÐÑли Ñавен false, ÑдалÑÐ½Ð½Ð°Ñ Ð¾Ñибка вÑдаÑÑÑÑ Ð»Ð¾ÐºÐ°Ð»Ñно как ÐÐÐÐЧÐÐÐÐ, и ÑÑнкÑÐ¸Ñ Ð½Ðµ возвÑаÑÐ°ÐµÑ ÑÑÑоки.
ÐозвÑаÑаемое знаÑение
ÐÑа ÑÑнкÑÐ¸Ñ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ ÑÑÑоки, вÑбиÑаемÑе ÑеÑез кÑÑÑоÑ. ÐÐ»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑой ÑÑнкÑии необÑ
одимо задаÑÑ Ð¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ñй Ð½Ð°Ð±Ð¾Ñ ÑÑолбÑов, как Ñанее говоÑилоÑÑ Ð² опиÑании dblink.
ÐÑимеÑаниÑ
ÐÑи неÑовпадении ÑиÑла возвÑаÑаемÑÑ
ÑÑолбÑов, опÑеделÑнного в пÑедложении FROM, Ñ ÑакÑиÑеÑким ÑиÑлом ÑÑолбÑов, возвÑаÑÑннÑÑ
ÑдалÑннÑм кÑÑÑоÑом, вÑдаÑÑÑÑ Ð¾Ñибка. Ð ÑÑом ÑлÑÑае ÑдалÑннÑй кÑÑÑÐ¾Ñ Ð²ÑÑ Ñавно пÑодвигаеÑÑÑ Ð½Ð° ÑÑолÑко ÑÑÑок, на ÑколÑко он пÑодвинÑлÑÑ Ð±Ñ, еÑли Ð±Ñ Ð¾Ñибка не пÑоизоÑла. То же Ñамое веÑно Ð´Ð»Ñ Ð»ÑбÑÑ
дÑÑгиÑ
оÑибок, пÑоиÑÑ
одÑÑиÑ
пÑи локалÑной обÑабоÑке ÑезÑлÑÑаÑов поÑле вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑдалÑнной ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ FETCH.
ÐÑимеÑÑ
SELECT dblink_connect('dbname=postgres options=-csearch_path=');
dblink_connect
----------------
OK
(1 row)
SELECT dblink_open('foo', 'select proname, prosrc from pg_proc where proname like ''bytea%''');
dblink_open
-------------
OK
(1 row)
SELECT * FROM dblink_fetch('foo', 5) AS (funcname name, source text);
funcname | source
----------+----------
byteacat | byteacat
byteacmp | byteacmp
byteaeq | byteaeq
byteage | byteage
byteagt | byteagt
(5 rows)
SELECT * FROM dblink_fetch('foo', 5) AS (funcname name, source text);
funcname | source
-----------+-----------
byteain | byteain
byteale | byteale
bytealike | bytealike
bytealt | bytealt
byteane | byteane
(5 rows)
SELECT * FROM dblink_fetch('foo', 5) AS (funcname name, source text);
funcname | source
------------+------------
byteanlike | byteanlike
byteaout | byteaout
(2 rows)
SELECT * FROM dblink_fetch('foo', 5) AS (funcname name, source text);
funcname | source
----------+--------
(0 rows)