Pular para o conteúdo
  • Este tópico contém 2 respostas, 3 vozes e foi atualizado pela última vez 16 anos, 4 meses atrás por Marcio68Almeida.
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #82204
    elisnery
    Participante

      Temos a seguinte necessidade: O usuário publica informações no site e a partir deste momento quer que guardemos os dados envolvidos nesta publicação. Qual a melhor maneira de se guardar histórico? Pensamos em fazer uma cópia de cada tabela acrescentando um sequencial para indicar a versão. Mas isto significaria a duplicação de muitos registos, visto que eles podem nem sofrer alteração.
      Aceito sugestões.

      Obrigada
      Elis Nery

      #82208
      leo_jf
      Participante

        Elis,
        Acho que criar um procedimento de update seria melhor.
        Você colocar para rodar, via job por exemplo, e faz inserção ou atualização nos campos. Isso fará que você não grave a mesma informação repetidas vezes e não irá gerar sobrecarga em processamento.
        Aqui, na empresa, tenho uma tabela que tive que fazer isso. A tabela armazena os grupos existentes na empresa, e semanalmente executo um job para consultar se o campo dt_valido está diferente de sysdate, pois se tiver quer dizer que o orgão não é mais válido, então faço um update em outra tabela para não mais considerar o orgão.
        Se precisar de alguma ajuda para criar o procedimento, só dizer.

        #82211
        Marcio68Almeida
        Participante

          Bom.
          Creio que a primeira inserção é desnecessária para log, pois é o que está publicado, imagino que queira salvar apenas as modificações ou eventuais exclusões.
          Acho que se você criar uma trigger e uma tabela de logs com DE, PARA e DATA, além da chave da tabela principal, você consegue ter um log das atualizações.
          Dentro da trigger você usa o NEW e OLD para saber quais informações sofreram alteração e gravar só essas informações.

        Visualizando 3 posts - 1 até 3 (de 3 do total)
        • Você deve fazer login para responder a este tópico.
        plugins premium WordPress