【发布时间】:2012-10-03 17:00:29
【问题描述】:
我有工作:
运行程序
它有步骤:
第 1 步:做某事
第 2 步:做其他事情
第 3 步:电子邮件
在第 3 步中,我有:
EXEC spSendSuccessEmail -- and here's where I want to pass the job name.
这是上面存储过程的代码:
ALTER PROCEDURE [dbo].[spSendSuccessEmail] @JobName VARCHAR(30)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @EmailBody VARCHAR(50)
SET @EmailBody = @JobName + ' ran successfully'
BEGIN TRY
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'DBTeam',
@recipients = 'user@universe.com',
@copy_recipients = 'user2@universe.com',
@subject = 'Process Complete',
@body = @EmailBody,
@importance = 'Normal',
@sensitivity = 'Normal';
END TRY
BEGIN CATCH
EXEC spGetDatabaseErrorInfo
END CATCH
END
如何将其所在作业的名称传递给该存储过程?
我阅读了令牌,但我对如何完成这项任务有点困惑。
谁能帮帮我?
【问题讨论】:
-
执行 spSendSuccessEamil @Jobname。假定变量已声明,从前面设置,并且是字符串类型。我错过了什么吗?
标签: sql sql-server tsql token sql-job