2011-03-31 177 views
0

我有一個存儲過程,計劃運行'X'days.Here X可以是1,2,3或4.批處理文件:是否有批處理文件中的命令行將輸入包含到存儲過程

爲了執行這個存儲過程,我運行'exec NoOfDays = 3' 這裏NoOfDAys是輸入參數。

我有一個用於部署此存儲過程的批處理文件。

我的問題是:

是否有可能在我的批處理文件添加一個命令行輸入NoOfDays,而不是在存儲過程執行? 所以用戶不需要通過存儲的proc,而是打開批處理文件,只需輸入整數並運行該文件。

幫我這個...

回答

0

我得到了這個答案。

SET參數= 3的sqlcmd -S%服務器%-d %DB%-Q 「EXEC uspScheduleMonthlySubscription %參數%」

最初我創建了一個參數,並分配值給它(這是用戶可以輸入值的地方)。然後,包含存儲過程的sqlcmd將參照參數執行。部署此文件時,將執行存儲過程。

它的工作:) 感謝烏拉圭回合的幫助戴夫.. :)

1

說出您的批處理文件名爲batchForDays.bat如果你打電話batchForDays 3那麼你可以使用%1批處理文件皮卡第一變量中。

所以,如果你有exec NoOfDays=%1裏面batchForDays.bat然後調用batchForDays 3所以它處理exec NoOfDays=3

+0

我的批處理文件的名稱是Deploy_CVBSQL.bat關閉@echo CLS 組服務器=%計算機% 設置用戶ID =! - Ë 集DB =的ReportServer ---在SQL部署 集FN數據庫名稱= Deploy_CVB_SQL_Log.txt 是否存在%FN%德爾%FN% @echo上 SQLCMD -S%服務器%%用戶ID% - d%DB%-I -i「%cd%」\ SQL \ spScheduleMonthlySubscription.sql >>%fn%2>&1 - 這是存儲過程執行'x'天 NOw,我應該在哪裏包含這個執行函數? – Iswarya 2011-03-31 12:04:01

+0

@Iswarya不知道如何將一天輸入到輸出到%fn%文件的\ spScheduleMonthlySubscription.sql的那一行。如果你有正確的語法,那麼使用%1,這樣你可以在3天內調用Deploy_CVBSQL 3來傳遞。 – 2011-03-31 22:10:46

相關問題