Oracle 将PostgreSQL函数转换为PostgreSQL存储过程
我使用AWS-SCT将一个模式从oracle迁移到postgreSQL,包被转换为postgreSQL中的函数。 我需要将此函数转换为过程,以便与应用程序中间件中的代码紧密配合 我试图转换为过程,每次我遇到错误,比如Oracle 将PostgreSQL函数转换为PostgreSQL存储过程,oracle,postgresql,stored-procedures,database-migration,aws-sct,Oracle,Postgresql,Stored Procedures,Database Migration,Aws Sct,我使用AWS-SCT将一个模式从oracle迁移到postgreSQL,包被转换为postgreSQL中的函数。 我需要将此函数转换为过程,以便与应用程序中间件中的代码紧密配合 我试图转换为过程,每次我遇到错误,比如SQL state:42601和inout参数都是允许的 请帮助将函数转换为过程 CREATE OR REPLACE Function "pk_audfreq$sp_audfreq"( OUT out_a double precision, OUT out_b dou
SQL state:42601
和inout参数都是允许的
请帮助将函数转换为过程
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$;
您还不能将
OUT
参数与过程一起使用。如各国所述:
OUT
过程当前不支持参数。改用INOUT
如果要返回某些内容,请使用(设置返回)函数。过程并不意味着返回结果集。已尝试过,但仍给出语法错误SQL状态:42601,需要帮助才能将函数更正为PostgreSQL中没有语法错误的过程。请确保可以使用
INOUT
,但必须提供参数。为什么坚持要用一个过程来处理一个自然是函数的东西?为什么坚持要用一个函数或过程来处理一个简单的语句,最好用VIEWCool来封装呢?我用INOUT创建了一个过程,给出错误消息inout参数是允许的
除非您显示相关代码和完整的错误消息,否则很难提供帮助。