[英]While loop with multiple conditions in T-SQL
首先,我要说的是,我知道我知道这类循环很可怕,您不应该在Transact SQL中使用它们。 但是,出于某些目的(这些目的无关紧要,所以不要问我“您打算做什么!?”),您必须这样做。 我不想,但是我得。
无论如何。 有什么方法可以使T-SQL中的while循环终止于复杂的条件语句? 例如,在C#中,我只是说while(i> -10 && i <10),因为我希望循环在哨兵值介于-10和10之间时终止,但我只是...无法弄清楚怎么做。
这可能非常简单...或..不可能。 请指教。
现在,我刚刚
WHILE @N <> 0
BEGIN
--code and such here
END
您必须查看WHILE语句的声明:
WHILE Boolean_expression
{ sql_statement | statement_block | BREAK | CONTINUE }
首先,您可以使用复杂的Boolean_expression,如Dan所说:
WHILE @N > -1 AND @N <10
BEGIN
END
如果要为代码增加灵活性,可以将IF与BREAK结合使用,如下所示:
WHILE @N > -1 AND @N <10
BEGIN
-- code
IF (SELECT MAX(ListPrice) FROM Production.Product) > $500
BREAK
END
-- code
END
退出循环或使用CONTINUE跳过一个循环。
我觉得自己是个白痴。 而且我敢肯定我也很像。
我尝试了所有这些东西,试图使条件起作用。 我只是不知道为什么它不起作用。
它只是打我。 我在调试代码时正在更改代码,但它没有执行我的更改。
我很不好意思。 我毕竟是在做。 我只是...做错了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.