Eu tenho uma tabela onde o valor da 3ª coluna é calculado a partir de outras
duas colunas da mesma tabela.
Fiz uma função que calcula o valor da 3ª coluna e depois crie-e uma triger
que chama a função na inserção ou update da tabela, usando a linguagem
'plpgsql' .

funcão:

CREATE OR REPLACE FUNCTION "public"."calcular" () RETURNS trigger AS'
begin
    if (new.coluna1 is null) or (new.coluna2 is null) then
        Raise notice ''Factores para o calculo nulos'';
        new.coluna3 := 0;
    else
            new.coluna3 := (new.coluna1 + new.coluna2);
    end if;
    return new;
end;
'LANGUAGE 'plpgsql' IMMUTABLE CALLED ON NULL INPUT SECURITY INVOKER;


trigger:

CREATE TRIGGER "fazcalculo" BEFORE INSERT OR UPDATE
ON "public"."nomeTabela" FOR EACH ROW
EXECUTE PROCEDURE "public"."calcular"();


Prontos e é só experimentar. ;)

Liliana Matos.


On 5/28/07, João Paulo <[EMAIL PROTECTED]> wrote:

Opa,

Acho que ajuda

select sum(campo1+campo2+campo3+campo4+campo5) from tabela;

Esta ajuda, mas não creio que seja a melhor maneira.

João Paulo.

Em 28/05/07, Luciano - Uol <[EMAIL PROTECTED]> escreveu:
>
> Pessoal,
>
> Tenho um tabela com 5 campos numeric(15,2) o qual eu digito alguns
> valores, após a inserção eu queria colocar no 6 campo o valor da soma
> desses 5 campos automaticamente, como fazer?
>
> Luciano
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a