1

有一个带有一些已声明变量的 SQL 脚本。我想为这些变量的各种值集运行此脚本并查看输出。我该怎么做呢?

4

3 回答 3

1

请注意:此答案是从此处复制的,但对于您所要求的内容来说是一个很好的资源。

有关基于集合与程序的更多示例,请参见此处此处此处

这是 SQL 代码中的一个实际示例:

DECLARE @someFlag INT
SET @someFlag = 0
WHILE (@someFlag <=5)
BEGIN
PRINT @someFlag 
SET @someFlag = @someFlag + 1
END
GO
于 2013-03-06T23:21:17.050 回答
1

如果您具有执行此操作的适当权限,则可以将脚本设置为存储过程,然后多次运行该过程。如何做到这一点的参考:http: //msdn.microsoft.com/en-us/library/ms187926 (v=sql.100).aspx

您也不必制作永久 proc,如果您不需要它或希望它在您运行它的任何数据库中,您可以将其设置为临时 proc。

所以不是 CREATE PROCEDURE dbo.usp_SomeProcedure AS .... 你会做 CREATE PROCEDURE #usp_SomeProcedure

您的另一个选择是将您的脚本放入一个 nvarchar(max) 变量中,并将它与您的其他变量一起使用来运行 sp_executesql ( http://msdn.microsoft.com/en-us/library/ms188001.aspx )。

于 2013-03-06T23:24:39.810 回答
1

我会使用光标或 While 循环(首选是 While)。会是这样的

DECLARE @i INT
SET @i = 1

WHILE (@i <=10)
BEGIN    
   -- do whatever you need to do
   SET @i = @i + 1
END
于 2013-03-06T23:29:47.070 回答