while 循环是有条件的循环控制语句。满足条件后,再执行循环体中的SQL语句。
while: break, 如果有多条语句可以在while后面添加begin-end。关于while的语法
while(条件)
-- begin
-- 语句1
-- 语句2
-- break 根据情况是否添加break
-- end
把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)
- begin
- set @count = @count + 1
- insert 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 证明没有小于60
- if((select count(*)from ScoreList where CSharp<60 )>0)
- -- 更新成绩
- update ScoreList set CSharp = 60 where StudentId = @stuid
- else --没有小于60 跳出循环
- break
- end
- select * from ScoreList
1 有限次数的循环 通过一个变量在循环体里面每次加一,直到循环条件不成立的时候跳出循环
2 没有确定次数的循环,通过横成立条件进行循环 通过break跳出循环体