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
如果为真(省略时为默认值),则在连接的远程端抛出的错误会导致本地也抛出错误。如果为假,则远程错误将在本地报告为 NOTICE,并且该函数不返回任何行。
该函数返回从游标中获取的行。要使用此函数,您需要指定预期的列集,如先前针对 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)
如果您在文档中看到任何不正确的内容,与您对特定功能的体验不符,或者需要进一步澄清,请使用 此表格 报告文档问题。