SQL Server —— While语句循环

一:简介

while 循环是有条件的循环控制语句。满足条件后,再执行循环体中的SQL语句

while: break, 如果有多条语句可以在while后面添加begin-end。关于while的语法

while(条件)

-- begin

-- 语句1

-- 语句2

-- break 根据情况是否添加break

-- end

二 关于While的实例1

把10条数据添加一个表中

sql 复制代码
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

sql 复制代码
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跳出循环体

相关推荐
隔窗听雨眠3 分钟前
MySQL整库迁移至KaiwuDB完全指南:从数据类型映射到生产切换的系统性实践
数据库·mysql
xhbh66618 分钟前
中小企业 Redis 运维,如何安全归档 RDB、AOF 备份文件?
运维·数据库·缓存·数据备份·文件备份·同步备份·号码备份
2301_322414280440 分钟前
活力孕康复APP 47737- 原创(免费领源码+部署教程+开发环境)
java·vue.js·spring boot·mysql·微信小程序·idea·微信开发者工具
勤奋的树懒42 分钟前
从手写 SQL 到 Windows 工具:致远 OA 文件清理实践
数据库·sql·windows server·致远oa
笃行3501 小时前
OceanBaseVS金仓:一条 SQL 的两条路——KingbaseES 的性能竞争力从哪来
数据库
其实防守也摸鱼1 小时前
每天一个知识点——RCE漏洞
运维·服务器·数据库·windows·安全·github·漏洞
TDengine (老段)1 小时前
TDengine 常见问题 TOP2
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
笃行3501 小时前
数据迁移工具 KDMS 帮我把一本糊涂账算清了
数据库
笃行3502 小时前
SQLServer数据库迁移实录:十年老系统搬上 KingbaseES,T-SQL 基本没重写
数据库
落魄大学生之流水线上谋生计3 小时前
Java并发核心机制详解:线程池、CAS、AQS、锁升级
java·开发语言·数据库