我在函數中使用臨時表來保存一些結果,但是我不知道如何從函數返回表。理想情況下,我想在一個查詢中執行所有操作(即不是兩個查詢:一個用於調用該函數,另一個用於從臨時表中獲取數據)。如何在postgresql函數中返回臨時表結果
目前我main_function()
如下:
CREATE OR REPLACE FUNCTION main_function() RETURNS void AS
$BODY$
BEGIN
DROP TABLE IF EXISTS temp_t CASCADE;
CREATE TEMP TABLE temp_t AS SELECT * FROM tbl_t limit 0;
EXECUTE 'INSERT INTO temp_t ' || 'SELECT * FROM tbl_t limit 10';
END;
$BODY$
LANGUAGE 'plpgsql' ;
我打電話來它像這樣:同樣
SELECT * from main_function();
SELECT * from temp_t;
,問題是,我不竟要撥打的第二個查詢。第一個查詢應該返回臨時表作爲結果,但是我不能這樣做,因爲臨時表在main_function()
中創建,因此它不能是它的返回類型。
有關如何實現此目的的任何想法?
感謝
謝謝你,我明白了。 –