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

Responder a