为一个或多个条件循环 SQL 服务器

Looping SQL Server for one or more criteria

我有 SQL Server 2008 R2,我正在尝试 运行 使用来自客户端应用程序的参数进行查询,该参数将 return 动态值。对于每个参数,这应该是 运行 独立的...

PARAM VALUE contains 1,2,3,4,5

Loop for each <PARAM VALUE>
   Select * from Table where ID = <PARAM VALUE>
Next

我将如何循环每个逗号分隔值和 运行 独立查询?

我的最终目标是将每个通道作为结果插入一个新的温度 table。

您可以使用 table 变量来遍历值:

DECLARE @Values TABLE (Index INT)
INSERT @Values VALUES (1, 2, 3, 4, 5)
DECLARE @Index INT
WHILE EXISTS (SELECT * FROM @Values) BEGIN
    SET @Index = (SELECT TOP 1 Index FROM @Values)
    SELECT * FROM Table WHERE ID = @Index
    DELETE @Values WHERE Index = @Index
END

如果值列表是一个序列,那么可以使用更典型的循环:

DECLARE @Index INT = 1
WHILE @Index <= 5 BEGIN
    SELECT * FROM Table WHERE ID = @Index
    SET @Index = @Index + 1
END