Jacques Nogueira dos Santos escreveu:
>
>
> Pessoal estou com problemas para chamar essa function.
> A function é criada, o que acontece é que não consigo chama-la para
> execução.
>
>
>
>
> CREATE OR REPLACE FUNCTION financeiro.fn_fornec()
> RETURNS record AS
> $BODY$
> create temp sequence rownum;
> select nextval('rownum') as rownum
> , trim(lower(mneu_for)) as mneu_for
> , trim(nome_for) as nome_for
> from sbd95.fornec;
> $BODY$
> LANGUAGE 'sql' VOLATILE;
> ALTER FUNCTION financeiro.fn_fornec() OWNER TO postgres;
>
>
> O código de criação da sequencia temporária e o select, se executados
> sozinhos funcionam:
>
> create temp sequence rownum;
> select nextval('rownum') as rownum
> , trim(lower(mneu_for)) as mneu_for
> , trim(nome_for) as nome_for
> from sbd95.fornec;
>
>
> Mas gostaria de colocar esse código dentro de uma function.
> Quando faço o select para executar a function e trazer os valores dá o
> seguinte erro:
>
>
> select * from financeiro.fn_fornec();
>
>
> ERROR: a column definition list is required for functions returning "record"
> SQL state: 42601
>
>
>
>
> Como que eu faço para que ele me retorne os valores?Obs:Preciso que
> traga o rownum por motivo do banco ser antigo.
>
Tente:
SELECT * FROM financeiro.fn_fornec() AS (a int, b varchar, c
varchar);
Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral