Bom, a melhor saída que encontrei para quem estiver passando pela mesma
dificuldade é fazer um script semelhante ao postado abaixo, então ir
editando no bloco de notas e depos só ir executando no postgres.
DROP TYPE rel1 CASCADE;
CREATE TYPE rel1 AS (
data date,
marca text,
modelo text,
placa text,
kmetragem text,
vcompra numeric(8,2)
);
CREATE FUNCTION rel_venda(date,date) RETURNS rel1
AS $func$
SELECT v.data, mar.marca, mod.modelo, car.placa, car.km_atual,
car.preco_compra
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
WHERE v.data BETWEEN $1 AND $2
$func$
LANGUAGE SQL;
SELECT * FROM rel_venda('2008-01-01','2010-01-01');
Bruno Carneiro wrote:
>
> Obrigado, to conseguindo aqui... valeu galera!
>
>
> Só acrescentar:
>
> O que você pode fazer:
>
> DROP FUNCTION nome_funcao(parâmetros);
> DROP TYPE nome_tipo;
>
> Ou também DROP TYPE nome_tipo CASCADE, neste caso apaga tudo que depende
> de nome_tipo
>
--
View this message in context:
http://www.nabble.com/Fun%C3%A7%C3%A3o-retornado-tipo-composto.-Preciso-criar-tabela--tp25231950p25242208.html
Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral