2011-03-31 182 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

相关问题