2010-01-19 5 views
0

Может ли кто-нибудь помочь мне создать SQL-задание в SQL Server Agent (SQL 2008), который будет работать в узлом временном интервале (Ex: Daily) и выбрать записи из таблицы со статусом = 1 (выберите имя, возраст от студента) и перейти к другой хранимой процедуры, которая принимает имя студента и возрастSQL Job: С чего начать?

+0

Какую версию SQL вы используете? – ddc0660

+0

Если вы используете Express Edition, агент SQL недоступен. Не может быть проблемой? – pvieira

ответ

1

Вот такой подход я бы:

Создать скрипт

  • Создать SQL скрипт с CURSOR в нем (единственная причина, по которой я говорю курсор, состоит в том, что вы передаете имя студента и возраст другому ORed процедура)
  • Прочитайте StudentName и Возраст в @variables
  • Выполнить хранимая процедура с соответствующими параметрами
  • Fetch следующую строку и цикл
  • ИМП: ТЕСТ сценарий

Сохранить скрипт в файле SQL для дальнейшей справки.

В агента SQL Server

  • Создать новую работу
  • направьте его в соответствующую базу данных
  • Вставить SQL Script (сверху) в область сценария задания
  • Создайте соответствующее расписание (ежедневно, в 3:15)
  • Если установлены операторы и SQL Mail, добавьте их так, чтобы вы могли получать уведомления по электронной почте
  • Сохранить работу
  • IMP: TEST работа
1

Я думаю, что вы наилучшим решением является вызов хранимой proceudre от агента с фиксированными аргументами. Затем в этой хранимой процедуре вы можете сделать следующее: execute a stored procedure over a set without using a cursor

+0

Предлагаемый предлагаемый предлагаемый запрос был бы намного более неэффективным, чем использование «быстрого перемотки только для чтения». –