Pular para o conteúdo
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #105346
    Avatar de mpunganmpungan
    Participante

      Pessoal, estamos tentando implementar esse tipo de trigger. Mas ocorreu o erro abaixo, alguém saberia dizer se isso seria possível ou de que forma poderiamos fazer esse tipo de trigger para verificar mudanças de senhas?

      CREATE OR REPLACE TRIGGER SYS.TROCA_SENHAS
      BEFORE UPDATE OF PASSWORD
      ON SYS.USER$
      REFERENCING NEW AS NEW OLD AS OLD
      FOR EACH ROW
      declare
      v_owner number(2);
      BEGIN
      select count(*) into v_owner
      from dba_users
      where username like ‘COORD%’ and substr(username,7,length(username)-6)=:new.name;

      — depois mudar consulta acima procurando se o usuário existe na tabela de senhas

      if v_owner>0 then — o usuário que mudou a senha é um owner
      update DBAS.SENHAS_OWNER set senha=:new.password where username=:new.name;

      — depois fazer esse update direto na tabela de senhas

      end if;
      END;

      CREATE OR REPLACE TRIGGER SYS.TROCA_SENHAS
      *
      ERROR at line 1:
      ORA-04089: cannot create triggers on objects owned by SYS

      #105347
      Avatar de rmanrman
      Participante

        @mpungan

        Qual o problema a ser solucionado?

        Não é recomendado alterar nenhum objeto do SYS, tem outro detalhe, é necessário um transação autonoma para aplicar o COMMIT dentro da TRIGGER.

        Foi utilizado o próprio usuário SYS para criar a TRIGGER?

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