一:簡(jiǎn)介
while 循環(huán)是有條件的循環(huán)控制語句。滿足條件后,再執(zhí)行循環(huán)體中的SQL語句。
while: break, 如果有多條語句可以在while后面添加begin-end。關(guān)于while的語法
while(條件)
-- begin
-- 語句1
-- 語句2
-- break 根據(jù)情況是否添加break
-- end
?二 關(guān)于While的實(shí)例1
把10條數(shù)據(jù)添加一個(gè)表中
create table S1
(
?? ?id int not null primary key identity(1,1),
?? ?name varchar(10) not null default ('')
)
declare @count int
set @count = 0
while(@count<10)
?? ?begin
?? ?set @count = @count + 1
?? ?insert into S1(name) values ('魯班'+ CONVERT(varchar(10), @count)+'號(hào)')
?? ?end
select * from S1
執(zhí)行后效果圖如下
?
三 關(guān)于while循環(huán)的實(shí)例2?
循環(huán)例子 把成績csharp小于60 修改成60
while(1=1) 死循環(huán),C#條件比較時(shí)1==1,但是t-sql比較1=1文章來源:http://www.zghlxwxcb.cn/news/detail-837221.html
declare @stuid int ,@csharp int -- 學(xué)號(hào)和C#成績
while(1=1)
begin
-- 先查詢成績小于60的學(xué)生 把學(xué)號(hào)和cs成績賦值給對(duì)應(yīng)的變量
select top 1 @stuid = StudentId,@csharp = CSharp from ScoreList where CSharp < 60
-- 找出成績小于60的個(gè)數(shù),如果個(gè)數(shù)小于0 證明沒有小于60
if((select count(*)from ScoreList where CSharp<60 )>0)
-- 更新成績
update ScoreList set CSharp = 60 where StudentId = @stuid
else --沒有小于60 跳出循環(huán)
break
end
select * from ScoreList
?四 總結(jié)
1 有限次數(shù)的循環(huán) 通過一個(gè)變量在循環(huán)體里面每次加一,直到循環(huán)條件不成立的時(shí)候跳出循環(huán)
2 沒有確定次數(shù)的循環(huán),通過橫成立條件進(jìn)行循環(huán) 通過break跳出循環(huán)體??文章來源地址http://www.zghlxwxcb.cn/news/detail-837221.html
到了這里,關(guān)于SQL Server —— While語句循環(huán)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!