Solved

Send an Email on Record Update

Posted on 2009-05-05
8
334 Views
Last Modified: 2012-08-13
hi,
I want to know what is the best way of sending an email notifications from a database when a record is updated?
I have been reading a lot of posts on how we are not suppose to send an email from a trigger.
I am using SQL Server 2008 and I have a table called Project and a table called Employee, I want to be able to send an email to selected users in the Employee table (their emails are stored in EmailAddress Field, and only "Admins" Employees with their AccessLevel is set to 2) when the Project.Status field changes to 0 or 1 in the Project table

how can I do this?
Thanks
0
Comment
Question by:smaguire
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
  • 2
8 Comments
 
LVL 21

Expert Comment

by:JestersGrind
ID: 24307192
If you're using a stored procedure to update the Project.Status field, you could change it to also send an email.

Greg


0
 

Author Comment

by:smaguire
ID: 24307269
No, I have a web application that enables the enduser to update any project. no stored procedure in the process.
I have it working using visual studio - C# code, but I want the code to be more dynamic where I don't have to compile the entire code everytime i need to subscribe a user to the email notification alert.
 
Thanks
0
 
LVL 21

Expert Comment

by:JestersGrind
ID: 24308736
In that case, a trigger might be your best option.

Greg


0
Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

 

Author Comment

by:smaguire
ID: 24308802
Thanks Greg for your reply,
I just finished reading some posts suggesting that NS is no longer in SQL Server 2008, and Triggers will not be recommended since if they do fail to contact the mail server, the commit will take a long time.
Now back to your original suggestion of using a SP, How can I accomplish that?
Thanks
0
 
LVL 31

Expert Comment

by:RiteshShah
ID: 24312130
you could do something like below script. script is just example, you can make it more customize for your need.




create proc updateANDemail
as
begin
 
update table1 set field1='abc' where field1='ab'
 
EXEC master.dbo.xp_sendmail 
    @recipients=N'ritesh_a_shah@yahoo.com',
     @message=N'records updated',
     @copy_recipients=N'rits4friends@gmail.com',
     @subject=N'update' ;
 
 
end

Open in new window

0
 

Author Comment

by:smaguire
ID: 24314640
Thanks RiteshShah for your reply,
I will have to try your code later on but will I be able to do something like this:
@message=field1            
What is the 'N' for?
Thanks
0
 
LVL 31

Accepted Solution

by:
RiteshShah earned 500 total points
ID: 24314738
you can remove N, its a prefix before string variable.... as long as field1 concern, than you would have to do it like:

create proc updateANDemail
as
begin

declare @val='ABC'

update table1 set field1=@val where field1='ab'
 
EXEC master.dbo.xp_sendmail
    @recipients='ritesh_a_shah@yahoo.com',
     @message=@val,
     @copy_recipients='rits4friends@gmail.com',
     @subject='update' ;
 end
0
 

Author Closing Comment

by:smaguire
ID: 31578127
Thanks
0

Featured Post

The Ultimate Checklist to Optimize Your Website

Websites are getting bigger and complicated by the day. Video, images, custom fonts are all great for showcasing your product/service. But the price to pay in terms of reduced page load times and ultimately, decreased sales, can lead to some difficult decisions about what to cut.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

     When we have to pass multiple rows of data to SQL Server, the developers either have to send one row at a time or come up with other workarounds to meet requirements like using XML to pass data, which is complex and tedious to use. There is a …
There have been several questions about Large Transaction Log Files in SQL Server 2008, and how to get rid of them when disk space has become critical. This article will explain how to disable full recovery and implement simple recovery that carries…
Monitoring a network: how to monitor network services and why? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the philosophy behind service monitoring and why a handshake validation is critical in network monitoring. Software utilized …
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question