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 pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral