SQL SERVER while循环
SQL SERVER while循環(huán)
在SQL數(shù)據(jù)庫(kù)中,可以通過(guò)WHILE實(shí)現(xiàn)循環(huán),下面就將為您介紹SQL循環(huán)執(zhí)行while控制,希望對(duì)您提升WHILE的使用水平能夠有些幫助。
參數(shù)
Boolean_expression
返回 TRUE 或 FALSE 的表達(dá)式。如果布爾表達(dá)式中含有 SELECT 語(yǔ)句,必須用圓括號(hào)將 SELECT 語(yǔ)句括起來(lái)。
{sql_statement | statement_block}
Transact-SQL 語(yǔ)句或用語(yǔ)句塊定義的語(yǔ)句分組。若要定義語(yǔ)句塊,請(qǐng)使用控制流關(guān)鍵字 BEGIN 和 END。
BREAK
導(dǎo)致從最內(nèi)層的 WHILE 循環(huán)中退出。將執(zhí)行出現(xiàn)在 END 關(guān)鍵字后面的任何語(yǔ)句,END 關(guān)鍵字為循環(huán)結(jié)束標(biāo)記。
CONTINUE
使 WHILE 循環(huán)重新開(kāi)始執(zhí)行,忽略 CONTINUE 關(guān)鍵字后的任何語(yǔ)句。
實(shí)例:
USE pubs GO WHILE (SELECT AVG(price) FROM titles) < $30 BEGINUPDATE titlesSET price = price * 2SELECT MAX(price) FROM titlesIF (SELECT MAX(price) FROM titles) > $50BREAKELSECONTINUE END設(shè)置個(gè)變量,就能實(shí)現(xiàn)for(i=0;i<10,i++)
DECLARE @i int
set @i=0
WHILE @i<10
BEGIN
//語(yǔ)句序列
…
set @i=@i+1
END
示例
A. 在嵌套的 IF…ELSE 和 WHILE 中使用 BREAK 和 CONTINUE
在下例中,如果平均價(jià)格少于 $30,WHILE 循環(huán)就將價(jià)格加倍,然后選擇最高價(jià)。如果最高價(jià)少于或等于 $50,WHILE 循環(huán)重新啟動(dòng)并再次將價(jià)格加倍。該循環(huán)不斷地將價(jià)格加倍直到最高價(jià)格超過(guò) $50,然后退出 WHILE 循環(huán)并打印一條消息。
總結(jié)
以上是生活随笔為你收集整理的SQL SERVER while循环的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SQL server 中SQL语句实战操
- 下一篇: SQLSERVER常用函数汇总