Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
用于重复执行语句或复合语句。
WHILE search-condition statement
除非各语句被组织成位于关键字 BEGIN 和 END 之间的复合语句,否则 WHILE 条件只影响单个 SQL 语句的执行。
BREAK 语句和 CONTINUE 语句可用于控制复合语句中的语句执行。BREAK 语句终止循环,执行在标记循环结束的 END 关键字后重新开始。CONTINUE 语句使 WHILE 循环重新开始,跳过 CONTINUE 后面的所有语句。
无。
SQL/2008 Transact-SQL 扩充。WHILE 语句是可选 SQL/2008 语言功能 P002 "计算完整性" 的一部分。WHILE 语句的 Transact-SQL 变体不包括 END WHILE。
下面的代码阐释了 WHILE 的用法:
WHILE ( SELECT AVG(UnitPrice) FROM GROUPO.Products ) < $30 BEGIN UPDATE GROUPO.Products SET UnitPrice = UnitPrice + 2 IF ( SELECT MAX(UnitPrice) FROM GROUPO.Products ) > $50 BREAK END
如果最贵产品的价格高于 $50,BREAK 语句将中断 WHILE 循环。否则继续循环,直到平均价格高于或等于 $30。