2014-10-02 65 views
0

我有一個POSTGRES函數,它返回一個refcursor作爲輸出。打印REFCURSOR顯示輸出與此類似:POSTGRES:從函數返回的refcursor上選擇查詢

A  B 
========== 
1 dog 
2 cat 
3 tiger 

我的問題是:

我怎樣才能在這個REFCURSOR之上執行查詢? 喜歡的東西:

select A from (function_returning_refcursor()); 
+0

[這是相關的?](http://dbaspot.com/oracle-server/9308-select-ref-cursor.html) – 2014-10-02 22:15:53

+0

@ gloomy.penguin這是否鏈接建議單獨創建一個類型並返回,而不是refcursor?如果是這樣,我不想這樣做。 – M10TheMist 2014-10-02 22:36:09

+0

這是非常不清楚的。查詢結果中的每個refcursor是什麼?你認爲'A'是什麼?你期望輸出什麼? – 2014-10-03 01:07:10

回答

0

你需要消耗一個refcursor和做任何你想要用光標內容的另一個功能。例如:

select f2(curs) from function_returning_refcursor() curs; 
+0

感謝您的回覆。你能告訴我這個函數f2如何在ref cursor上進行查詢嗎?這基本上是我不明白的,是我的問題。 – M10TheMist 2014-10-05 15:40:32

+0

@ M10TheMist PL/PgSQL文檔涵蓋了從遊標獲取:http://www.postgresql.org/docs/current/static/plpgsql-cursors.html。請注意,您也可以在SQL級別對結果進行FETCH:http://www.postgresql.org/docs/current/static/sql-fetch.html – 2014-10-06 00:52:29