Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 16 anos, 1 mês atrás por rwarstat.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #92506
    carloscps
    Participante

      o que estou fazendo errado na criação da trigger?

      create or replace trigger
      tr_logon_xv
      AFTER LOGON ON DATABASE
      BEGIN
      if ora_login_user<> ‘USU_XV’
      then
      null;
      else
      if 1 in (select 1 from system.cadastro where host = sys_context(‘USERENV’,’HOST’))
      then
      null;
      else
      insert into SYSTEM.CADASTRO
      values( sys_context(‘USERENV’,’HOST’), systimestamp);
      end if;
      end if;
      END;
      /

      SQL> Errors for TRIGGER TR_LOGON_XV:

      LINE/COL ERROR
      ——– —————————————————————–
      6/1 PL/SQL: Statement ignored
      6/9 PLS-00405: subquery not allowed in this context

      #92508
      rwarstat
      Participante

        Carlos,

        O quê acontece é que tu não pode fazer um IF com uma subquery. Para fazer a comparação é necessário fazer uma SELECT INTO variaável e usar essa variável no teu IF.

        Abraço,
        Roberto

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