我如何在sql中编写foreach语句

时间:2013-12-10 06:24:12

标签: asp.net .net sql-server

在SQL Server中,我编写了一个存储过程,我在其中声明了一个类似

的数组
declare @arr table (Position int, BTtype varchar(50))

我已根据条件将值插入此数组中,我想检查一下

for each(string type in string array(BT Type))

如何在SQL中检查相同的方式?

例如,我声明一个名为type的局部变量,其数据类型为varchar,然后如何检查上面在SQL中编写的每个循环........ ??我想知道我们如何在SQL中进行每次迭代?

2 个答案:

答案 0 :(得分:0)

DECLARE @Type varchar(50)
DECLARE c CURSOR FOR
SELECT
   BType
FROM @arr
OPEN c; FETCH NEXT FROM c INTO @Type
WHILE @@FETCH_STATUS = 0
BEGIN
    -- Example
    UPDATE @arr SET [Position] = 0
    WHERE [BType] = @Type        

    FETCH NEXT FROM c INTO @Type
END
CLOSE c; DEALLOCATE c;

答案 1 :(得分:0)

您可以在sql中使用while循环进行循环。WHILE循环的示例

 DECLARE @intFlag INT
 SET @intFlag = 1
 WHILE (@intFlag <=5)
 BEGIN
     PRINT @intFlag
     SET @intFlag = @intFlag + 1
 END
 GO

有关更多示例,请访问此链接。 While loop examples.