--- 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