简体   繁体   English

将 PostgreSQL 函数转换为 PostgreSQL 存储过程

[英]Convert PostgreSQL function to PostgreSQL Stored Procedure

I'm migrated a schema from oracle to postgreSQL using AWS-SCT, packages are converted to functions in postgreSQL.我使用 AWS-SCT 将架构从 oracle 迁移到 postgreSQL,包被转换为 postgreSQL 中的函数。 I need to convert this function to procedure to compact with the code in the application middleware.我需要将此函数转换为程序以压缩应用程序中间件中的代码。

I've tried to convert to procedure, everytime i'm getting error like SQL state: 42601 and inout parameter are permitted我尝试转换为过程,每次我收到类似SQL state: 42601错误时SQL state: 42601inout parameter are permitted

Kindly help to convert the function to procedure.请帮助将函数转换为程序。

CREATE OR REPLACE Function "pk_audfreq$sp_audfreq"(
    OUT out_a double precision,
    OUT out_b double precision,
    OUT out_c double precision)
    RETURNS record
    LANGUAGE 'plpgsql'
    COST 100
    VOLATILE 
AS $BODY$
DECLARE
BEGIN    
    SELECT
        MIN(audresponsetime), AVG(audresponsetime), MAX(audresponsetime)
        INTO STRICT out_a, out_b, out_c
        FROM public.audio_freq;        
    END;
$BODY$;

You cannot have OUT parameters with procedures (yet).您不能在过程中使用OUT参数(还)。 As the documentation states:正如文档所述:

OUT arguments are currently not supported for procedures.过程当前不支持OUT参数。 Use INOUT instead.请改用INOUT

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM