我有一个函数 some_func() 返回refcursor
:
CREATE OR REPLACE FUNCTION some_func() RETURNS refcursor AS (...)
我想从控制台调用这个函数并显示它返回的光标的结果集。在 Oracle 中我会这样写:
SELECT * FROM TABLE(some_func());
PostgreSQL 上的这种构造相当于什么?
引用游标通过其名称来引用,该名称可以是自动生成的,也可以是由您选择的。
这文档的页面 http://www.postgresql.org/docs/current/static/plpgsql-cursors.html#AEN54814每个都给出了一个例子。
要从引用游标获取结果,您必须知道游标的名称。对于生成的名称,类似于<unnamed portal 1>"
。然后您可以:
FETCH ALL FROM "<unnamed portal 1>";
游标名称从函数返回refcursor
结果,这样你就可以从那里得到它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)