Em 9 de março de 2010 19:59, Tiago Kepe <[email protected]> escreveu: > > >> Date: Tue, 9 Mar 2010 19:50:47 -0300 >> From: [email protected] >> To: [email protected] >> Subject: Re: [pgbr-geral] Array como parâmetro e retorno da mesma função >> >> Em 9 de março de 2010 19:29, Tiago Kepe <[email protected]> escreveu: >> > Oi pessoal, >> > >> > Preciso de ajuda, procurei na net e post antigos, mas não encontrei nada >> > que >> > me ajudasse. >> > >> > Preciso passar um array como parâmetro para uma função e ela me >> > retornará o >> > mesmo array alterado. >> > Vi algumas explicações na net e a função atualmente está assim: >> > >> > CREATE OR REPLACE FUNCTION teste_array(integer[]) RETURNS integer[] AS >> > $$ >> > DECLARE >> > array integer[]; >> > BEGIN >> > array := $1; >> > FOR i IN 1..10 LOOP >> > array[i] := i+9; >> > END LOOP; >> > RETURN array; >> > END; >> > $$ LANGUAGE plpgsql; >> > >> > Porém está retornando o seguinte erro: >> > >> > psql:teste.sql:14: ERRO: não pode mudar o tipo de retorno da função >> > existente >> > HINT: Primeiro utilize DROP FUNCTION. >> > >> > P.S. Já coloquei um DROP FUNCTION teste_array() no começo da função, não >> > acho necessário pq tem um REPLACE, mas em todo caso. >> > >> >> >> Tente: >> >> CREATE OR REPLACE FUNCTION teste_array(inout array integer[]) AS $$ >> BEGIN >> FOR i IN 1..array_upper(array, 1) LOOP >> array[i] := i+9; >> END LOOP; >> RETURN; >> END; >> $$ LANGUAGE plpgsql; >> >> Osvaldo > > Não funcionou, dá erro de sintaxe. >
Qual versão do PostgreSQL você está usando? Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
