Solved

Send an Email on Record Update

Posted on 2009-05-05
8
328 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
  • 4
  • 2
  • 2
8 Comments
 
LVL 21

Expert Comment

by:JestersGrind
Comment Utility
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
Comment Utility
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
Comment Utility
In that case, a trigger might be your best option.

Greg


0
 

Author Comment

by:smaguire
Comment Utility
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
What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 31

Expert Comment

by:RiteshShah
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
Thanks
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

SQL Server engine let you use a Windows account or a SQL Server account to connect to a SQL Server instance. This can be configured immediatly during the SQL Server installation or after in the Server Authentication section in the Server properties …
In this article I will describe the Copy Database Wizard method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

728 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now