Stored procedures 我需要在T-SQL中创建存储的proceder to,并从日常作业中执行它,以便在返回任何结果时通知管理员
到目前为止我已经写了这个。我不确定创建SP然后从日常作业执行它的最佳方式是什么,从那里我可以配置为在有任何结果时通知我 我希望有人能给我指出正确的方向,因为这似乎对我不起作用。出于测试目的,我添加了If/else子句和excec sp_send_dbmail,但我没有收到值大于0的电子邮件,但如果没有结果返回,我会通过电子邮件收到通知 我不想将电子邮件硬编码到SP中。我想从日常工作中选择收件人。现在我的挑战是我能做到吗?我是否可以在作业中运行SP,并让作业确定是否有结果,然后发送电子邮件,如果没有,则不执行任何操作Stored procedures 我需要在T-SQL中创建存储的proceder to,并从日常作业中执行它,以便在返回任何结果时通知管理员,stored-procedures,sql-server-2012,Stored Procedures,Sql Server 2012,到目前为止我已经写了这个。我不确定创建SP然后从日常作业执行它的最佳方式是什么,从那里我可以配置为在有任何结果时通知我 我希望有人能给我指出正确的方向,因为这似乎对我不起作用。出于测试目的,我添加了If/else子句和excec sp_send_dbmail,但我没有收到值大于0的电子邮件,但如果没有结果返回,我会通过电子邮件收到通知 我不想将电子邮件硬编码到SP中。我想从日常工作中选择收件人。现在我的挑战是我能做到吗?我是否可以在作业中运行SP,并让作业确定是否有结果,然后发送电子邮件,如果没
Create PROCEDURE PendingTime
AS
BEGIN
DECLARE @recordCount int
SELECT
@recordCount = ISNULL(COUNT(*), 0),
employee_name,
entry_empl_uno,
COUNT(*),
MIN(post_date),
MAX(post_date),
MIN(tran_date),
MAX(tran_date)
FROM TableA With (nolock)
INNER JOIN TableB (nolock)
ON entry_empl_uno = empl_uno
WHERE entry_status = 'n' -- and post_date>=dateadd(month,-2,getdate())
IF (@recordCount > 0)
BEGIN
EXEC msdb.dbo.sp_send_dbmail @profile_name = 'DB Mail',
@recipients = 'ABCD@XYZ.com',
@query = 'SELECT
@recordCount = ISNULL(COUNT(*), 0),
employee_name,
entry_empl_uno,
COUNT(*),
MIN(post_date),
MAX(post_date),
MIN(tran_date),
MAX(tran_date)
FROM TableA With (nolock)
INNER JOIN TableB (nolock)
ON entry_empl_uno = empl_uno
WHERE entry_status = 'n'
GROUP BY employee_name,
ENTRY_EMPL_UNO',
@subject = 'Test',
@Body = 'Test',
@attach_query_result_as_file = 1;
END
END;
employee\u name
,entry\u employee\u uno
需要聚合函数或groupby
,entry\u employee\u uno
需要聚合函数或groupby