Pular para o conteúdo
  • Este tópico contém 2 respostas, 3 vozes e foi atualizado pela última vez 18 anos, 1 mês atrás por chduarte.
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #77240
    Anônimo

      ola

      Gostaria de saber se tem como saber se o usuario alterou um campo name da minha tabela se alterou quero salvar o usuario e data que alterou.

      Como faco isso?

      CREATE OR REPLACE TRIGGER INS_UPD_DEL_ACCOUNT
      BEFORE UPDATE OR INSERT OR DELETE
      ON TEJV
      REFERENCING
      NEW AS NEW
      OLD AS OLD
      FOR EACH ROW
      BEGIN

      if UPDATING THEN
      — gostaria de compara aqui se o name foi alterado gostaria de salvar
      — o usuario e a data da alteracao

      :new.usuupdate := user;
      :new.dateupdate := sysdate;

      end if;

      END INS_UPD_DEL_ACCOUNT;
      /

      #77246
      Marcio68Almeida
      Participante

        Use o :new.coluna e 😮 ld.coluna para comparar os valores

        #77487
        chduarte
        Participante

          Acredito que nestes casos voce precisa de auditoria.
          Para habilitar voce precisa ligar este parametro no init.ora
          audit_trail = db

          Depois colocar o que quer auditar:
          Alguns exemplos:
          audit create session;
          audit update on owner.tabela;
          audit update on owner.tabela whenever SUCCESSFUL;

          Para desligar o audit anterior
          noaudit create session;
          noaudit update on owner.tabela;
          noaudit update on owner.tabela whenever SUCCESSFUL;

          Para ver os resultados da auditoria:
          DBA_AUDIT_EXISTS
          DBA_AUDIT_OBJECT
          DBA_AUDIT_POLICIES
          DBA_AUDIT_SESSION
          DBA_AUDIT_STATEMENT
          DBA_AUDIT_TRAIL

          Para mais informacoes, acesso o site:
          tahiti.oracle.com

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