Конференция "Базы" » Запуск процедуры из Job и Query Analizer [D7, MSSQL]
 
  • Раиса © (06.08.09 11:53) [0]
    Имеется хранимая процедура (SR_ER_BEFOR), вызывающая другую хранимую процедуру (SR_ER),  состоящую из Insert-ов и Update-ов и обрабатывающую одну запись, параметром является id записи. В результате ее (SR_ER) выполнения возможен откат транзакции ввиду неправильности данных, получаемых от пользователей. После обработки меняется значение поля ProcessMode из 10 в другое значение.

    Если запускать хранимую (SR_ER_BEFOR) из  Query Analizer, то она берет все необработанные данные и обрабатывает все записи. То есть всё хорошо.
    Если хранимая (SR_ER_BEFOR) выполняется из Job-а, то обрабатываются несколько записей (например, 2, 3, 4 из имеющихся 12), и следовательно, Job должен выполниться несколько раз, чтобы обработать все записи. Время работы Job-а 1 секунда. Запускается Job один раз в 2 минуты.  

    Текст хранимой процедуры:

    CREATE PROCEDURE dbo.SR_ER_BEFOR
    AS
    begin

    declare @id_x25 bigint

    WHILE 0=0
    begin
    set  @id_x25=(SELECT TOP 1 ID_X25
    FROM         X25_Start
    WHERE     (ProcessMode = 10)
    ORDER BY ID_X25 )

    if @id_x25 is NULL break

    EXEC DBO.SR_ER @id_x25

    end

    end
    GO



    Помогите, пожалуйста, исправить процедуру (SR_ER_BEFOR), чтобы при запуске из Job-а она выполнялась до тех пор, пора имеются необработанные записи (ProcessMode = 10).
 
Конференция "Базы" » Запуск процедуры из Job и Query Analizer [D7, MSSQL]
Есть новые Нет новых   [134473   +33][b:0][p:0.001]