簡體   English   中英

PostgreSQL:從存儲過程返回臨時表

[英]Postgresql: Return Temp Table From a Stored Procedure

我想從存儲過程返回存儲在臨時表中的查詢結果。 我不確定最后的聲明應該是什么。 任何幫助都適用:

CREATE OR REPLACE FUNCTION public.get_generic_info(
    IN in_app_id character varying,
    IN key_id uuid)
RETURNS TABLE(info text, last_update timestamp with time zone) AS
$BODY$  
BEGIN
    CREATE TEMP TABLE result AS
        SELECT  generic_info.info::text, generic_info.last_update FROM 
                generic_info 
        WHERE generic_info.app_id = in_app_id AND generic_info.id = key_id;

    -- some data manipulations based on 'result' rows       
    RETURN ???????;
END;

您的最后一句話是這樣的

RETURN QUERY 
     SELECT  result.info::text, result.last_update FROM 
      result;

如果您沒有將TEMP表用於其他任何用途,則根本不需要創建臨時表。.您可以直接執行

RETURN QUERY
SELECT  generic_info.info::text, generic_info.last_update FROM 
                generic_info 
        WHERE generic_info.app_id = in_app_id AND generic_info.id = key_id;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM