2016-10-18 6 views
0

У меня есть хранимая процедура, которая ожидает целочисленное значение в качестве входного параметра. Мне нужно, чтобы этот sp работал каждые 10 минут. для этого они думают использовать работу агента сервера sql.Задание агента SQL для выбора значения из таблицы и передачи значений в качестве входного параметра для выполнения хранимой процедуры

Я хочу выбрать набор значений из table.column и передать это как входной параметр хранимой процедуре каждые 10 минут.

Цените свою помощь заранее.

Благодарности & С уважением, Sanjai

+1

Я стараюсь избегать написания слишком много актуальных запросов внутри вашего агента SQL Server. Обычно я хотел бы инкапсулировать эту хранимую процедуру в другую, которая будет обрабатывать выборку и передачу этих параметров. Тогда вам нужно будет только вызвать хранимую процедуру в задаче SQL Server. Гораздо чище, на моих глазах. – Jens

+0

Привет, Йенс, не могли бы вы посоветовать мне передать значение table.column в качестве входного параметра в sub sp. Спасибо –

ответ

0

Если я понимаю ваше требование.

Используйте Cursor (если набор значений невелик), чтобы передать значения из набора значений таблицы.

DECLARE @value VARCHAR(50) -- table.column value 

DECLARE myCursor CURSOR FOR 
SELECT ColVal FROM Table -- Get the values from table 

OPEN myCursor 
FETCH NEXT FROM myCursor INTO @value 

WHILE @@FETCH_STATUS = 0 
BEGIN 
     EXEC dbo.getValue @value -- Execute the SP 
     FETCH NEXT FROM myCursor INTO @value 
END 

CLOSE myCursor 
DEALLOCATE myCursor 

Используйте этот T-SQL в шаге задания агента.

+0

Привет Pinwar13, я следовал тому же, что вы предложили. и работа завершается успешно. но данные, которые sp должен вставлять с использованием входного параметра из курсора, не происходит. –

+0

, не глядя на ваш SP, трудно сказать, почему вставка не происходит. – p2k

+0

Когда я запускаю sp вручную, я получаю результаты. –

 Смежные вопросы

  • Нет связанных вопросов^_^