Pular para o conteúdo

Fóruns SQL e PL/SQL Dúvida sintaxe em uma parte de uma trigger. Dúvida sintaxe em uma parte de uma trigger.

#93459
gsmdf
Participante

    Hm, entendo, suspeitei disso.
    Então coloquei o exception no sub-bloco como você falou, porém está dando erro:

    IF (v_se_critica = TRUE)
    THEN
    SELECT COUNT ( * )
    INTO v_qtd
    FROM TIPO_EVENTO_PROC_GRUPO_TIPO TEPGT
    WHERE TEPGT.cod_tipo_evento = :new.cod_tipo_evento;

      /*No caso de haver restrições então continua a trigger
        e busca-se o cod_grupo_tipo_processo atual do processo
      */
      IF (v_qtd  0)
      THEN
         SELECT   cod_grupo_tipo_processo
           INTO   cgtp
           FROM   TIPO_PROCESSO
          WHERE   COD =
                     (SELECT   cod_tipo_processo
                        FROM   HIST_TIPO_LOTE
                       WHERE   cod_lote = :new.cod_processo
                               AND data_termino = NULL)
                  AND cod_grupo_tipo_processo NOT IN
             (SELECT cod_grupo_tipo_processo
                    FROM tipo_evento_proc_grupo_tipo tepgt
                   WHERE tepgt.cod_tipo_evento = :new.cod_tipo_evento);
    
                   EXCEPTION
            /*Se o cod_grupo_tipo_processo do atual processo não constar entre as restrições então deve-se abortar a operação*/
            WHEN no_data_found THEN
            RAISE erro;
            END;
    
    
                END IF;
    

    END IF;

    Não seria o caso de “IF (NO_DATA_FOUND) THEN RAISE ERRO; ?