2009/9/15 Bruno Carneiro <[email protected]>:
>
> DROP TYPE rel1 CASCADE;
>
> CREATE TYPE rel1 AS (
> datav date,
> marca text,
> modelo text,
> placa text,
> kmetragem text,
> vcompra numeric(8,2),
> vvenda numeric(8,2),
> cor text,
> vendedor text,
> ano_fab int,
> ano_mod int,
> despesa numeric(8,2),
> ctotal numeric(8,2),
> lucro numeric(8,2),
> retorno numeric(8,2),
> comissao numeric(8,2),
> cretorno numeric(8,2)
> );
>
> CREATE FUNCTION rel_venda(date,date) RETURNS rel1

Creio que o correto seja:

... RETURNS SETOF rel1


> AS $func$
> SELECT v.data, mar.marca, mod.modelo, car.placa, car.km_atual,
> car.preco_compra, v.valor, cor.cor, ven.nome, car.ano_fab, car.ano_mod,
> despesa(v.carro), custo_total(v.carro) , v.valor - custo_total(v.carro),
> v.retorno, comissao(v.idvenda), cretorno(v.idvenda)
> FROM venda AS v
> LEFT JOIN carro AS car ON car.idcarro = v.carro
> LEFT JOIN cliente AS cli ON cli.idcliente = v.cliente
> LEFT JOIN vendedor AS ven ON ven.idvendedor = v.vendedor
> LEFT JOIN marca AS mar ON car.marca = mar.idmarca
> LEFT JOIN modelo AS mod ON car.modelo = mod.idmodelo
> LEFT JOIN cor ON cor.idcor = car.cor
> WHERE v.data BETWEEN $1 AND $2
>  $func$
> LANGUAGE SQL;
>


Veja:
http://www.postgresql.org/docs/current/interactive/xfunc-sql.html#XFUNC-SQL-FUNCTIONS-RETURNING-SET

Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a