2012-07-23 41 views
-2

SQL Server 2008中,我有一个表,它为每个作业存储创建的Job_id,然后删除作业我使用存储过程(下面)获取该ID并尝试删除这个工作,但尽管我确信这个工作存在于@ScheduleReportID中,但下面的select总是返回null! JOB_ID是UniqueIdentifier类型的tbRptScheduleSql Server变量在存储过程中松动它的值

declare @job_name nvarchar(max) 
     SELECT @job_name = name 
     from msdb.dbo.sysjobs with(nolock) 
     where job_id = (select job_id from dbo.tbRptSchedule with(nolock) where ScheduledReportID = @ScheduledReportID) 

     IF @job_name IS NULL 
     BEGIN 
     RAISERROR ('Cannot find Job identifier',16,1) 
     END 
+0

也许你应该使用sp_delete_job http://msdn.microsoft.com/en-us/library/ms187850.aspx – Yaroslav 2012-07-23 12:17:54

+0

我正在使用它,但首先我需要找到作业名称或作业ID – Asha 2012-07-23 12:18:55

+0

没有你说你存储了工作ID? – nunespascal 2012-07-23 12:23:28

回答

0

也许declare @jobname nvarchar(max)有一些与错误来做为herehere类型为sysname相当于NOT NULL VARCHAR(128)。

相关问题