我試圖從PostgreSQL 9.0函數中獲取數據集,但我無法使用存儲過程。如何從PostgreSQL 9.0獲取數據集函數(「存儲過程」)
我是新來的Postgres這個星期,所以讓我解釋一下我的條件:
在pgAdmin的III我可以輸入命令:
SELECT * FROM member;
和接收以下數據輸出:
memberid membername
1 Bill Smith
2 Joe Smith
我試着創建很多功能(表/ SETOF/etc)非常像:
CREATE OR REPLACE FUNCTION get_all_members()
RETURNS SET OF member AS
'select * from member;'
當我在pgAdmin的運行它們(或從程序調用它們)我得到以下幾點:
SELECT get_all_members()
結果:
get_all_members
member
(1, "Bill Smith")
(2, "Joe Smith")
反正有沒有得到這個從數據集一個函數(存儲過程),我可以直接輸入SQL命令。
您的幫助非常感謝!
該輸出是包含*記錄*的單個列,它是一種*複合類型*。 PostgreSQL支持將行視爲值。當你想要'SELECT * FROM get_all_members()'時,'SELECT get_all_members()'做等價於'SELECT x FROM get_all_members()x'。 –