Em 28/08/2015 7:50 PM, "JotaComm" <[email protected]> escreveu: > > Boa noite! > > Em 27 de agosto de 2015 23:08, Bruno Silva <[email protected]> escreveu: >> >> Alguém já teve de criar alguma função que segue o seguinte conceito: >> >> CREATE TYPE tp_conta AS ( >> id_conta int, >> valor numeric(12,4) >> ) >> >> CREATE TABLE t_colecaoContas OF tp_conta ( >> PRIMARY KEY (id_conta), >> quantidadeEconomias WITH OPTIONS DEFAULT 1000 >> ); >> >> >> CREATE OR REPLACE FUNCTION minha_funcao (id_pessoa integer, r_contasPessoa Out t_colecaoContas, r_mensagem Out text) RETURNS RECORD AS $body$ >> ... >> ... >> INSERT INTO t_ColecaoContas ( id_conta, valor ) values ( 10,100); >> .... >> RETURN; >> $body$ >> LANGUAGE PLPGSQL >> ; >> >> >> Apesar da função passar normal ao ser chamada, ela não tras nenhum resultado. >> Estou fazendo da forma correta? >> Preciso retornar essa 'coleção' e a mensagem de erro para o programa. >> >> Estou usando Postgres 9.3. > > > > Você realmente precisa criar um tipo de dados? Por que não usar um RETURN TABLE nomedatabela? Não posso, na verdade é uma adaptação para um sistema que já trabalha com Oracle e está evoluindo para Postgres. Por isso não posso mudar tanto a forma de chamada, pois ele tem de retornar a tabela e um varchar que tem mensagens de erro.
> > Como você fez a chamada da função? Não sei se entendi sua pergunta... CREATE OR REPLACE FUNCTION minha_funcao (id_pessoa integer, r_contasPessoa Out t_colecaoContas, r_mensagem Out text) RETURNS RECORD AS $body$ ... >> >> >> Bruno E. A. Silva. >> >> >> _______________________________________________ >> pgbr-geral mailing list >> [email protected] >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > > > Abraços > > -- > JotaComm > http://jotacomm.wordpress.com > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
