Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fzamara

Criar alerta para tabela quando tiver mais do que 40 registros

Recommended Posts

Boa tarde pessoal tenho uma base oracle xe local onde armazena dados transitórios ate que sejam validados e transferidos para minha base de produção.(tenho 11 bases xe, e 1 base em produção todas em lugares geograficamentes diferentes).

 

Minha pergunta é: É possivel eu criar um alerta nessa base para que quando minha tabela por exemplo atingir 50 registros ela me envie um email para verificar o ocorrido. Pois na minha operação essa tabela local ela é: armazenado, validado e transferido para base de produção e posteriormente apagado da base local.

 

Seria somente uma medida de controle para monitorar essa integração.

 

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Solução 1

 

Uma trigger de after insert conta quantos registros tem na tabela e manda email caso exceda o limite

 

Solução 2

 

Um Job (scheduller) verifica aqtd de registros diariamente a noite e envia email caso exceda

 

Para envio de email o prórpio site da Oracle tem exemplos de envio (auteticado ou não)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma das melhores soluções e voce criar um trigger contado os registro

ele chega maior N numero manda um email

 

ex abaixo para enviar email

--DECLARE

s_cabecalho         VARCHAR2(32767);
s_corpo             VARCHAR2(32767);
s_rodape            VARCHAR2(32767);
v_cont              NUMBER := 0;
v_test              NUMBER;


 -- Monta o cabeçalho do email.
         s_cabecalho := '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                          <html xmlns="http://www.w3.org/1999/xhtml">
                           <head>
                            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                             <title>Untitled Document</title>
                           </head>

                             <body>
                              <img src="http://www.novamerica.com.br/topo_email.jpg" complete="complete"/><br>';

         s_cabecalho := s_cabecalho ||'<center> <h3><font face="Trebuchet MS">  Relação de JOB Gerado na data de hoje</font></h3></center>
                                                <center>   <br><br>
                                                          <font face="Trebuchet MS"> Identificamos JOB de Integração Folha Web foi gerado seguinte data.</font><br></center>
                                       <center>';
    -- Monta o Rodapé do Email.
        s_rodape :=     '</table>
                        <center>
                        <br>
                        <font face="Trebuchet MS">
                        Obs.: Por favor verificar a importação no GT.
                        </font>
                        <br>
                        <br><br>
                        </center>
                       </body>
                      </html>';
        s_corpo := '';
        FOR r1 IN job LOOP
            IF (v_cont = 0) THEN
                s_corpo := s_corpo||'<table border="0">
                                   <tr>
                                    <td bgcolor="#006600"><font face="Trebuchet MS" color="#FFFFFF"> DATA: </font></td>
                                    <td bgcolor="#006600"><font face="Trebuchet MS" color="#FFFFFF"> JOB: </font></td>

                                   </tr>';
            END IF;
             s_corpo := s_corpo||'<tr>
                                    <td bgcolor="#CCCCCC"><font face="Trebuchet MS" color="#000000"> '||r1.data||' </font></td>
                                    <td bgcolor="#CCCCCC"><font face="Trebuchet MS" color="#000000"> '||r1.dia||' </font></td>

                                   </tr>';
            v_cont := v_cont + 1;
        END LOOP;
        v_cont := 0;
        APPS.CS_UNA_MAIL_FILES@dbprod('portalna@novamerica.com.br'
                                      ,'jefferson@novamerica.com.br;'
                                      ,'Portal Na - Execução de carga automatica'
                                      ,s_cabecalho||s_corpo||s_rodape
                                      ,NULL
                                      ,NULL
                                      );
       COMMIT;
       s_corpo := '';

END;
/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.