天天看點

【原創】PostgreSQL 傳回多個結果集

mysql的存儲過程 可以很友善的一次性的傳回多個結果集, 但是postgresql目前不提供這樣的功能。

一個直譯的方法就是用遊标來做,不過也可以把結果集放到數組裡面或者一個大的臨時表或者是xml等的格式來輸出。

比如在mysql裡面可以這樣簡單的寫一個存儲過程。

在postgresql環境下,來看下下面的函數代碼,隻能用遊标來實作,而且還不能在函數裡面傳回。

接下來,在一個事務裡面來擷取對應的遊标結果集。

如果是是多個結果集,但是每個結果集裡面隻有一行資料的話,也可以用out參數來實作。

如果傳回的多個結果集的字段和類型都一緻的話,那就跟單個結果集一樣了。

繼續閱讀