boa tarde pessoal,
estou fazendo esta procedure para ser disparada por um trigger, mas está
dando um erro na contrução da array, alguem poderia me ajudar a resolver
este problema....
CREATE OR REPLACE FUNCTION "public"."sp_atualiza_andamento" (integer)
RETURNS integer AS
$body$
/* Corpo da nova função */
DECLARE
XIDUSU ALIAS FOR $1;
XCONTA integer;
XANDID integer;
XANDCDREMESSA integer;
XANDDTANDAMENTO varchar;
XANDCDUSUARIO integer;
XANDCDUNIDADE integer;
XANDCDROMANEIO integer;
XANDLOCALIZAÇÃO varchar;
XARRAY integer;
XCONTAIDREMESSA integer;
BEGIN
SELECT into XCONTA,XANDCDREMESSA count(and_id),and_cd_remessa FROM
tb_andamentoremessa WHERE and_localizacao='P' GROUP BY and_id,and_cd_remessa
ORDER BY and_id ASC;
FOR I IN 1..XCONTA LOOP
SELECT INTO
XCONTAIDREMESSA,XANDID,XANDCDREMESSA,XANDDTANDAMENTO,XANDCDUSUARIO,XANDCDUNIDADE,XANDCDROMANEIO,XANDLOCALIZAÇÃO
count(and_cd_remessa),and_id,and_cd_remessa,and_dt_andamento,and_cd_usuario,usu_cd_unidade,and_cd_romaneio,and_localizacao
FROM tb_andamentoremessa WHERE and_cd_remessa=XANDCDREMESSA[I] GROUP BY
and_id,and_cd_remessa,and_dt_andamento,and_cd_usuario,usu_cd_unidade,and_cd_romaneio,and_localizacao
ORDER BY and_id ASC;
FOR I IN 1..XCONTAIDREMESSA LOOP
INSERT INTO tb_andamentoconcluido (and_id,
and_cd_remessa,
and_dt_andamento,
and_cd_usuario,
usu_cd_unidade,
and_cd_romaneio,
and_localizacao
)VALUES(
XANDID,
XANDCDREMESSA,
quote_literal(XANDDTANDAMENTO),
XANDCDUSUARIO,
XANDCDUNIDADE,
XANDCDROMANEIO,
quote_literal(XANDLOCALIZAÇÃO)
);
DELETE FROM tb_andamentoremessa WHERE
and_cd_remessa=XANDCDREMESSA;
END LOOP;
END LOOP;
RETURN XANDCDREMESSA;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
*erro retornado*
ERROR: cannot subscript type integer because it is not an array
CONTEXT: SQL statement "SELECT
count(and_cd_remessa),and_id,and_cd_remessa,and_dt_andamento,and_cd_usuario,usu_cd_unidade,and_cd_romaneio,and_localizacao
FROM tb_andamentoremessa WHERE and_
Muito obrigado.
Anderson
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral