Olá, 2009/8/31 Bruno Carneiro <[email protected]>
> > Olá pessoal, > > Estou estudando como criar funções na linguagem SQL por aqui: > http://pgdocptbr.sourceforge.net/pg80/xfunc-sql.html > > Nesta página, quando se retorna um tipo composto, no exemplo uma tabela é > criada antes, e depois é retornada o tipo daquela tabela, por exemplo: > > CREATE TABLE emp ( > nome text, > salario numeric, > idade integer, > baia point > ); > > CREATE FUNCTION novo_empregado() RETURNS emp AS $$ > SELECT text 'Nenhum' AS nome, > 1000.0 AS salario, > 25 AS idade, > point '(2,2)' AS baia; > $$ LANGUAGE SQL; > > > Então, vou criar uma função que gera pra mim um relatório, e essa função > deve me retornar um dado composto, cada linha uma venda e cada coluna > detalhes sobre esta venda. > > Acontece que para retornar esse tipo composto, se eu seguir o exemplo, vou > ter que criar uma tabela relatório, sendo que não vou armazenar nada nesta > tabela, ela seria apenas o modelo para o retorno da minha função. > > Preciso criar um tabela, ou posso definir um tipo sem criar tabela? > Pode definir um tipo de dado. Veja o comando CREATE TYPE. > > > Outra coisa, enquanto escrevia este post, uma coisa me veio a mente: Ao > invés de criar uma função que gere esse relatório, eu poderia no ato da > venda, fazer todos os calculos de relatorio e gravar no campo de vendas. > Por > exemlo, lucro, despesas, comissões, tudo isso não varia depois da venda. > Acho que o corretor seria eu calcular e gravar esses valores na hora da > venda, quando for solicitado relatório eu apenas iria consultar esses > dados. > É melhor não é? > Sim. Você pode fazer isso. Você pode utilizar TRIGGERS e/ou RULES. > > -- > View this message in context: > http://www.nabble.com/Fun%C3%A7%C3%A3o-retornado-tipo-composto.-Preciso-criar-tabela--tp25231950p25231950.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 > []s -- JotaComm http://jotacomm.wordpress.com http://www.dextra.com.br/postgres
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
