Perfeito, era isso mesmo, muito obrigado Osvaldo.
Saudações,
Eloi

2008/12/9 Osvaldo Kussama <[EMAIL PROTECTED]>

> Em 09/12/08, Eloi Ribeiro<[EMAIL PROTECTED]> escreveu:
> > Ola a toda a lista.
> >
> > Estou tentar fazer um disparador (trigger) que actualize um campo de uma
> > tabela com o campo de outra tabela. Se os campos estão na mesma tabela já
> > entendi como se faz, mas quando não é o caso como se poderia fazer?
> >
> > exemplo:
> >
> ------------------------------------------------------------------------------------------------------------------------------------
> > create or replace function nome_funcao() returns trigger as '
> > begin
> >
> > NEW.campo0 = NEW.campo1 + NEW.campo2; -- aqui tudo bem
> >
> > -- aqui está a minha duvida, como fazer um update
> > UPDATE tabela1 SET campo0 = tabela2.campo0 FROM tabela2 where tabela1.id=
> > tabela2.id;
>
> Pelo que entendi no lugar do UPDATE acima use:
> SELECT tabela2.campo0 INTO new.campo0 FROM tabela2 WHERE tabela2.id =
> new.id;
>
>
> >
> > return NEW;
> > end;
> > ' language plpgsql;
> > create trigger nome_disparador before insert or update on tabela1
> > for each row execute procedure nome_funcao();
> >
>
>
> Osvaldo
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Eloi Ribeiro

http://www.google.com/s2/profiles/100374240045472689555?zx=3p06h0iaagvn
eloi.ribeiro ARROBA gmail PONTO com
http://eloiribeiro.blogspot.com

España, Valencia

Antes de imprimir pensa que estará a gastar papel, tinta e energia.
Apaga todos os endereços de email do cabeçalho, bem como qualquer um
que apareça no corpo da mensagem. Essa informação é privada.
Coloca os endereços dos destinatários em BCC ou CCo.
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a