SQL循环执行while控制


  本文标签:SQL WHILE 循环

  在SQL数据库中,可以通过WHILE实现循环,下面就将为您介绍SQL循环执行while控制,希望对您提升WHILE的使用水平能够有些帮助  。

  WHILE Boolean_expression
    { sql_statement | statement_block }
    [ BREAK ]
    { sql_statement | statement_block }
    [ CONTINUE ]

  参数
Boolean_expression

  返回 TRUE 或 FALSE 的表达式  。如果布尔表达式中含有 SELECT 语句,必须用圆括号将 SELECT 语句括起来  。

  {sql_statement | statement_block}

  Transact-SQL 语句或用语句块定义的语句分组  。若要定义语句块,请使用控制流关键字 BEGIN 和 END  。

  BREAK

  导致从最内层的 WHILE 循环中退出  。将执行出现在 END 关键字后面的任何语句,END 关键字为循环结束标记  。

  CONTINUE

  使 WHILE 循环重新开始执行,忽略 CONTINUE 关键字后的任何语句  。

  实例:

  USE pubs
GO
WHILE (SELECT AVG(price) FROM titles) < $30
BEGIN
   UPDATE titles
      SET price = price * 2
   SELECT MAX(price) FROM titles
   IF (SELECT MAX(price) FROM titles) > $50
      BREAK
   ELSE
      CONTINUE
END

  设置个变量,就能实现for(i=0;i<10,i++)
DECLARE @i int
set @i=0

  WHILE @i<10
BEGIN
//语句序列
   ...
   set @i=@i+1
END