2010-09-13 76 views
1

在SQL Server Management Studio中,我想要一个接一个地执行多个SQL脚本(保存的查询)。这只是为了让它们更容易运行。我可以把每个脚本都整合到一个大型脚本中,然后简单地执行这个脚本,但是我希望它们都是分开的,这样我就可以轻松简单地运行每一个点。如何从一个查询中运行多个.sql脚本?

例如,这样的事情:

EXEC ('CreateTable1.sql') 
EXEC ('CreateTable2.sql') 
EXEC ('CreateSP1.sql') 
EXEC ('CreateSP2.sql') 
EXEC ('SetupTestData.sql') 

而且这样我可以分别运行每一行,并保留一切分开。

回答

4

如果您喜欢,您可以使用SQLCMD -i从命令行运行,然后将这些命令放入批处理脚本中。那么你可以使用exec xp_cmdshell从SQL管理工作室调用它。其实你可以很勇敢,在xp_cmdshell下运行一个FOR命令,然后在一行中完成。或者也许只是在它们上面逐个运行xp_cmdshell

或者你可以采取方法redgate的方法和read the files into variables,然后调用exec。如果你想要做的只是在我看来执行一些脚本,这最后一种方法是严重的过度杀伤。