0
我想創建一個postgresql函數返回多個行。下面的代碼是什麼樣子:postgresql函數 - 如何返回行數據集
CREATE OR REPLACE FUNCTION getallwidgets()
RETURNS SETOF widgets AS
$BODY$
SELECT * FROM widgets;
$BODY$
LANGUAGE sql VOLATILE
COST 100
ROWS 1000;
ALTER FUNCTION getallwidgets()
OWNER TO postgres;
當我使用pgadmin3測試此代碼,我得到一列數據,用逗號分隔每個字段。我想知道的是如何獲取列出的各個字段,以便當我循環訪問調用存儲過程的代碼中的數據集時,可以按列名引用每個字段。
謝謝。
編輯1
在pgadmin3,當我運行該腳本,在輸出窗口,我在一列中得到如下數據:
(1, "widget1","this is my description", 1)
(2, "another widget","description2", 3)
換句話說,我得到兩行上面的數據出現在一列中。 我期待:
id name description user_id
1 "widget1" "this is my description" 1
2 "another widget" "description2" 3
你確定嗎?我剛剛在我的數據庫上測試了這些代碼,而且我收到的卻是不同的字段。你能提供你的輸出和你的小部件表中的一些數據例子嗎? – cathulhu
cathulu,我已更新我的帖子。檢查編輯1 –