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;

return NEW;
end;
' language plpgsql;
create trigger nome_disparador before insert or update on tabela1
for each row execute procedure nome_funcao();
------------------------------------------------------------------------------------------------------------------------------------

Alguem me pode dar umas dicas?
Muito obrigado. Ciao,


-- 
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
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a