2012-07-23 70 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)。

相關問題