Pau*_*bra 6 sql alerting sql-server-2005
我有一个查询,用于检查我们是否已销售特定库存商品
select * from merchand_history where stock_code = 'zzz007' and create_timestamp >= getdate() order by create_timestamp desc
Run Code Online (Sandbox Code Playgroud)
我想要一个向用户发送电子邮件的 sql 作业(我猜是使用警报机制),但前提是该查询返回了行。
我想不出如何做到这一点并屈服于蜂巢思维。我真的需要一个只有 sql 的解决方案......
尝试构建一个类似于下面的存储过程并安排它作为作业运行:
create procedure [dbo].[sp_send_merchant_email]
as
Begin
declare @recordCount int
select @recordCount = isnull(count(*), 0)
from merchand_history
where stock_code = 'zzz007' and create_timestamp >= getdate()
order by create_timestamp desc
IF (@recordCount > 0)
begin
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'YourProfile',
@recipients = 'recipients@yourcompany.com',
@query = 'select * from merchand_history
where stock_code = ''zzz007'' and create_timestamp >= getdate()
order by create_timestamp desc' ,
@subject = 'Merchant Email ',
@Body = 'Email Merchant..... ' ,
@attach_query_result_as_file = 1 ;
End
else
begin
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'YourProfile',
@recipients = 'recipients@yourcompany.com',
@BODY = 'No data returned ',
@subject = 'Merchant Email'
End
End;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19817 次 |
最近记录: |