Estou utilizando a função abaixo:
CREATE OR REPLACE FUNCTION calculacusto( varchar, varchar )
RETURNS RECORD AS
$BODY$
...
SELECT nome, tipoligacao, valor, regra INTO custos FROM operadoras, custotcnt WHERE (
( operadoras.id = custotcnt.operadora ) AND
( operadoras.grupo = grupo ) AND
( operadoras.status = 1 AND custotcnt.status = 1 ) AND
( custotcnt.tipoligacao = tligacao )
) ORDER BY custotcnt.valor;
RETURN custos;
...
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
Mas, qdo a uso na minha trigger eu a uso assim:
...
sql := 'SELECT * FROM calculacustotcnt( \'' || grupo ||'\', ';
sql := sql || '\'' || tipo || '\' ) AS ';
sql := sql || '( nome varchar, tipoligacao varchar, ';
sql := sql || 'valor real, regra varchar )';
FOR custos IN EXECUTE sql LOOP
END LOOP;
tarifatcnt := custos.valor;
saida := custos.nome;
intervalotcnt := substr( custos.regra, 4, 1 );
basetcnt := substr( custos.regra, 1, 2 );
.....
O problema maior é que dá erro qdo acesso os campos das tabelas( e.g.: custos.nome) alguém pode me dar uma luz de como trabalhar a Dados retornados em Record por uma função?
Desde já vlw.
_______________________________________________ Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o manual http://pgdocptbr.sourceforge.net/
Para editar suas opções ou sair da lista acesse a página da lista em: http://pgfoundry.org/mailman/listinfo/brasil-usuarios