Пакетные файлы: есть ли в командном файле командная строка для включения ввода в хранимую процедуру - PullRequest
0 голосов
/ 31 марта 2011

У меня есть хранимая процедура, которая запланирована на X дней. Здесь X может быть 1, 2,3 или 4.

Чтобы выполнить этот сохраненный процесс, я запускаю 'exec NoOfDays = 3' Здесь NoOfDAys - входной параметр.

У меня есть командный файл, который используется для развертывания этой хранимой процедуры.

Мой вопрос:

Возможно ли добавить командную строку в мой командный файл для ввода NoOfDays вместо выполнения в хранимой процедуре ?? Поэтому пользователю не нужно проходить через сохраненный процесс, вместо этого откройте командный файл, просто введите целое число и запустите файл.

Помоги мне с этим ...

Ответы [ 2 ]

1 голос
/ 31 марта 2011

Скажем, ваш пакетный файл называется batchForDays.bat, если вы вызываете batchForDays 3, тогда вы можете использовать %1 внутри пакетного файла для получения первой переменной.

Так что, если у вас есть exec NoOfDays=%1 внутри batchForDays.bat, затем вызовите batchForDays 3, чтобы он обработал exec NoOfDays=3.

0 голосов
/ 08 апреля 2011

Я получил ответ на этот вопрос.

SET Параметр = 3 sqlcmd -S% Сервер% -d% DB% -Q "EXEC uspScheduleMonthlySubscription% Параметр%"

Первоначально я создал параметр и присвоил ему значение (здесь пользователь может ввести это значение).Затем sqlcmd, содержащий хранимую процедуру, выполняется со ссылкой на параметр. Когда этот файл развернут, хранимая процедура выполняется.

Сработало.! :) Спасибо за помощь, Дэйв ..:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...