gpt4 book ai didi

postgresql - SQL 状态 : 22P02 invalid input syntax for integer: "f"

转载 作者:行者123 更新时间:2023-11-29 12:53:02 36 4
gpt4 key购买 nike

我在运行此函数时遇到问题。我找不到原因。如果有任何提示,我将不胜感激。我正在尝试使用此函数制作 INSERT

    CREATE OR REPLACE FUNCTION multas.insertar_cuota(cant_cuota int,fecha_multa date,importe_total int, cod_multa int,cuota int, nro_cuota int, financiado int) 
RETURNS VOID AS

$BODY$
DECLARE
ultima_cuota int;
diferencia int;
num_cuota int;
venc date;
BEGIN
IF (financiado=1)
THEN PERFORM cuota= ROUND(importe_total/cant_cuota)
,diferencia=importe_total-(cuota*cant_cuota)
,ultima_cuota=cuota+diferencia;

WHILE nro_cuota<(cant_cuota+1)
LOOP
IF(nro_cuota=cant_cuota)
THEN cuota=ultima_cuota;

ELSE
cuota=cuota;
END IF;
BEGIN
num_cuota=(nro_cuota=(nro_cuota+1));
venc=fijarvencimiento(fecha_multa);
INSERT INTO multas.cuotas_multas(id_cuota,nro_cuota,fecha_vto,importe_vto,pagado)
VALUES(cod_multa,num_cuota,venc,cuota,NULL);
END;

END LOOP;
END IF;
END;
$BODY$ LANGUAGE plpgsql;

最佳答案

错误是提示您正尝试在需要整数的地方使用“f”(假)。

我怀疑是这条线造成的


num_cuota=(nro_cuota=(nro_cuota+1));

我不知道你认为它在做什么,但它正在检查 nro_cuota = (nro_cuota+1) 这当然是错误的。

此外,使用 := 进行赋值 - 它使代码更清晰。

关于postgresql - SQL 状态 : 22P02 invalid input syntax for integer: "f",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49635838/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com