Pois é, meu interesse é porque eu tenho funções que fazem inserções e updates. Como não é possível saber quais colunas o usuário irá atualizar, então minha função de atualização tem parâmetros para todas as colunas. Mas em uma tabela com 15 colunas, e o usuário alterar apenas uma coluna de um registro, a função vai desperdiçar recursos. Pois ela irá atualizar todas as outras colunas com dados repetidos. O desafio é atualizar somente as colunas que realmente foram alteradas. Como exemplo uma função que faz update em uma tabela de CEPs:
http://paste.ubuntu.com/14962205/ Como fazer a função atualizar somente as colunas alteradas? Em 7 de fevereiro de 2016 12:39, Everton Berz <[email protected]> escreveu: > Oi > aqui tem uma resposta: > > http://dba.stackexchange.com/questions/118178/does-updating-a-row-with-the-same-value-actually-update-the-row > > Ele também oferece uma possível solução para não realizar estes updates q > não mudam nada. > > Infelizmente carece de fontes oficiais, mas no meu entendimento é aquilo > ali mesmo. O pessoal aqui da lista que conhece o código-fonte do PostgreSQL > pode confirmar. > > > -- > Everton > > 2016-02-07 12:20 GMT-02:00 Saraiva Silva <[email protected]>: > >> Digamos, tenho uma tabela "PESSOA" com as colunas 'nome', 'email' e >> 'telefone'. >> Se eu fizer update em um registro e passar os mesmos valores que já >> estão, ou seja. Digamos que eu tenha o seguinte registro ('João', ' >> [email protected]', '1132322525'). Se eu fizer um update nesse registro e >> passar exatamente esses mesmos valores, o postgresql tem inteligência para, >> internamente, ignorar o update pelo fato de não existir mudança? >> E se eu passar os três valores mas apenas um ser diferente do atual? >> >> _______________________________________________ >> pgbr-geral mailing list >> [email protected] >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> > > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
