-2

SQL server 2008,我有一个表,它存储了为每个作业创建的 Job_id,然后为了删除作业,我使用了一个存储过程(如下),它获取 ID 并尝试删除作业,但尽管我确定作业存在使用 @ScheduleReportID 但以下选择始终返回 null !Job_id 是 tbRptSchedule 中的 UniqueIdentifier 类型

    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
4

1 回答 1

0

也许这与这里declare @jobname nvarchar(max)的错误有关,这里sysname 等效于 NOT NULL varchar(128)。

于 2012-07-23T12:26:08.510 回答