一:簡介
while 循環是有條件的循環控制語句。滿足條件后,再執行循環體中的SQL語句。
while: break, 如果有多條語句可以在while后面添加begin-end。關于while的語法
while(條件)
-- begin
-- 語句1
-- 語句2
-- break 根據情況是否添加break
-- end
?二 關于While的實例1
把10條數據添加一個表中
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)beginset @count = @count + 1insert into S1(name) values ('魯班'+ CONVERT(varchar(10), @count)+'號')end
select * from S1
執行后效果圖如下
?
三 關于while循環的實例2?
循環例子 把成績csharp小于60 修改成60
while(1=1) 死循環,C#條件比較時1==1,但是t-sql比較1=1
declare @stuid int ,@csharp int -- 學號和C#成績
while(1=1)begin -- 先查詢成績小于60的學生 把學號和cs成績賦值給對應的變量select top 1 @stuid = StudentId,@csharp = CSharp from ScoreList where CSharp < 60-- 找出成績小于60的個數,如果個數小于0 證明沒有小于60if((select count(*)from ScoreList where CSharp<60 )>0)-- 更新成績update ScoreList set CSharp = 60 where StudentId = @stuidelse --沒有小于60 跳出循環breakend
select * from ScoreList
?四 總結
1 有限次數的循環 通過一個變量在循環體里面每次加一,直到循環條件不成立的時候跳出循環
2 沒有確定次數的循環,通過橫成立條件進行循環 通過break跳出循環體??