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
