none
Enviar um email personalizado em SQL RRS feed

  • Pergunta

  • eu estou desenvolvendo um projecto onde a ideia inicial é a seguinte: tenho uma tabela na base de dados que recebe alguns valores (Item, preço, data). diariamente serão inseridos na BD alguns itens com preços variados e datas variadas. Agora a minha necessidade é todas as sextas-feiras a noite o sql seja capaz de enviar um email para um administrador alertando este mesmo dos itens inseridos naquela semana que ultrapassaram um certo valor (ex > 1000)
    no email eu gostaria de receber os dados como em tabelas dessa forma
    Item | preco | data
       1    1200   12-04
       3    1800   13-04
      15   5000   14-04
      26   3000   15-04

    eu ja preparei o meu SQL para enviar email como mostrado neste artigo. Agora não sei mais como fazer o resto. será que irei criar algum job para rodar semanalmente... será que tenho que fazer este scrip em Stored procedure para me buscar estes dados, e o job dispara este SP que envia o email para o administrador.
    caso sim, como fazer este SP e este job... caso nao, qual seria a melhor abordagem? 
    Agradeço um ajuda
    terça-feira, 15 de abril de 2014 09:48

Respostas

  • Flavio,

    Se o seu "Database Mail" está configurado corretamente, você pode utilizar a procedure "sp_send_dbmail" para executar este resultado desejado. Veja um exemplo abaixo:

    EXEC msdb.dbo.sp_send_dbmail
        @profile_name = 'Administrador',
        @recipients = 'seuemail@suaempresa.com.br',
        @query = 'SELECT item, preco, data FROM SuaTabela
                      WHERE Data > (GETDATE() - 1)' ,
        @subject = 'Relatorio';
    GO

    Para maiores informações consulte:

    http://technet.microsoft.com/pt-br/library/ms190307.aspx

    http://technet.microsoft.com/pt-br/library/ms175887(v=sql.105).aspx

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    • Sugerido como Resposta Edinaldo Junior terça-feira, 15 de abril de 2014 17:58
    • Marcado como Resposta Giovani Cr terça-feira, 22 de abril de 2014 18:34
    terça-feira, 15 de abril de 2014 17:53
    Moderador