有一个带有一些声明变量的SQL脚本。我想为这些变量的各种值集运行此脚本并查看输出。我该怎么做?
答案 0 :(得分:1)
请注意:此答案是从here复制的,但对于您所要求的内容来说,这是一个很好的资源。
可以找到基于集合与程序的更多示例here,here和here。
这是SQL代码中的一个实际示例:
DECLARE @someFlag INT
SET @someFlag = 0
WHILE (@someFlag <=5)
BEGIN
PRINT @someFlag
SET @someFlag = @someFlag + 1
END
GO
答案 1 :(得分:1)
如果您具有相应的权限,则可以将脚本设置为存储过程,然后多次运行该过程。参考如何操作:http://msdn.microsoft.com/en-us/library/ms187926(v=sql.100).aspx
你也不必做永久性的proc,如果你不需要它,或者想要它在你运行它的任何数据库中,你可以把它设置为temp proc。
所以代替CREATE PROCEDURE dbo.usp_SomeProcedure AS .... 你会做CREATE PROCEDURE #usp_SomeProcedure
您的另一个选择是将您的脚本放入nvarchar(max)变量,并将其与其他变量一起使用以运行sp_executesql(http://msdn.microsoft.com/en-us/library/ms188001.aspx)。
答案 2 :(得分:1)
我会使用Cursor或While循环(首选项将是While)。它会是这样的
DECLARE @i INT
SET @i = 1
WHILE (@i <=10)
BEGIN
-- do whatever you need to do
SET @i = @i + 1
END