Muito obrigado pessoal!Testei aqui com a transação e deu certo!

Heloara, boa idéia receber uma array!
Mas isso acaba dando trabalho pra você converter os dados de entrada dentro
da procedure né?


Obrigado!
Jorge Vilela

2009/4/1 Heloisa Fernanda <[email protected]>

>
>
>
>
> --- Em qua, 1/4/09, Jorge Vilela <[email protected]> escreveu:
>
> > De: Jorge Vilela <[email protected]>
> > Assunto: [pgbr-geral] onde usar função no banco
> > Para: "Comunidade PostgreSQL Brasileira" <
> [email protected]>
> > Data: Quarta-feira, 1 de Abril de 2009, 9:38
> > Bom dia PessoALL,
> > Eu tenho 4 tabelas, cada uma com uns 20 campos.
> >
> > Estou tendo muitos problemas porque preciso gravar nas
> > quatro tabelas, mas
> > não uso procedure no banco, assim não consigo dar
> > rollback se der erro.
> >
> >
> > Se eu fizer uma procedure que insira os campos em todas as
> > tabelas ela vai
> > precisar de uns 50 argumentos...
> >
> >
> > Tem alguma forma de eu conseguir o rollback sem precisar de
> > uma unica
> > procedure com 50 argumentos?
> >
> >
> > Muito obrigado!
> >
> > Jorge Vilela
>
> Olá Jorge,
>
> Quanto tenho que inserir valores em mais de uma tabela, eu costumo fazer o
> seguinte:
>
> TAB NOTA FISCAL
> NUMERO INT
> DATA DATE
>
> TAB ITENS NOTA FISCAL
> COD PROD INT
> QTDE INT
> VALOR NUMERIC
>
> Crio uma funcao mais ou menos assim:
>
> CREATE FUNCTION minha_funcao(integer, date, varchar[])
>  RETURNS integer AS
> $BODY$
>
>        DECLARE
>                numero                  alias for $1;
>                data                    alias for $2;
>                itens                   alias for $3;
>        BEGIN
> ........
>
> Use: select minha_funcao(12345, '2009-04-01',
> ARRAY[['1','2','10.00'],['2','5','100.00']]);
>
> []'s
>
> Heloisa
>
>
>      Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.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

Responder a