-2

SQL Server 2008、ジョブごとに作成された Job_id を格納するテーブルがあり、ジョブを削除するために、ID を取得してジョブを削除しようとするストアド プロシージャ (以下) を使用しますが、ジョブが存在することは確かですが@ScheduleReportID を使用しますが、次の select は常に 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

たぶん、ここここのsysnameはNOT NULL varchar(128)と同等であるためdeclare @jobname nvarchar(max)、エラーと関係があります。

于 2012-07-23T12:26:08.510 に答える