mysql的存儲過程 可以很友善的一次性的傳回多個結果集, 但是postgresql目前不提供這樣的功能。
一個直譯的方法就是用遊标來做,不過也可以把結果集放到數組裡面或者一個大的臨時表或者是xml等的格式來輸出。
比如在mysql裡面可以這樣簡單的寫一個存儲過程。
在postgresql環境下,來看下下面的函數代碼,隻能用遊标來實作,而且還不能在函數裡面傳回。
接下來,在一個事務裡面來擷取對應的遊标結果集。
如果是是多個結果集,但是每個結果集裡面隻有一行資料的話,也可以用out參數來實作。
如果傳回的多個結果集的字段和類型都一緻的話,那就跟單個結果集一樣了。