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跳出循环体

相关推荐
叁沐34 分钟前
MySQL 07 行锁功过:怎么减少行锁对性能的影响?
mysql
Java烘焙师1 小时前
架构师必备:业务扩展模式选型
mysql·elasticsearch·架构·hbase·多维度查询
飞翔的佩奇1 小时前
Java项目:基于SSM框架实现的忘忧小区物业管理系统【ssm+B/S架构+源码+数据库+毕业论文+开题报告】
java·数据库·mysql·vue·毕业设计·ssm框架·小区物业管理系统
@Ryan Ding1 小时前
MySQL主从复制与读写分离概述
android·mysql·adb
ZWZhangYu7 小时前
LangChain 构建向量数据库和检索器
数据库·langchain·easyui
feifeigo1238 小时前
升级到MySQL 8.4,MySQL启动报错:io_setup() failed with EAGAIN
数据库·mysql·adb
火龙谷10 小时前
【nosql】有哪些非关系型数据库?
数据库·nosql
焱焱枫11 小时前
Oracle获取执行计划之10046 技术详解
数据库·oracle
qq_3923971212 小时前
Redis常用操作
数据库·redis·wpf
A__tao13 小时前
一键将 SQL 转为 Java 实体类,全面支持 MySQL / PostgreSQL / Oracle!
java·sql·mysql