SQL Server存储过程中WHILE的使用

在SQL Server中,WHILE语句用于重复执行一个代码块,直到指定的条件变为假为止。语法如下:

sql 复制代码
-- 初始化变量
DECLARE @variable_name int

-- 设置初始值
SET @variable_name = initial_value

-- WHILE循环
WHILE condition
BEGIN
    -- 循环体代码

    -- 更新变量值
    SET @variable_name = new_value
END

在以上语法中:

  • @variable_name是一个用户定义的变量,用于控制循环。
  • initial_value是变量的初始值。
  • condition是一个布尔表达式,用于决定是否继续循环。
  • new_value是一个表达式,用于更新变量的值。

下面是一个使用WHILE循环的示例,计算1到10的和:

sql 复制代码
DECLARE @i int
DECLARE @sum int

SET @i = 1
SET @sum = 0

WHILE @i <= 10
BEGIN
    SET @sum = @sum + @i
    SET @i = @i + 1
END

SELECT @sum

变量@i用于计数,变量@sum用于累加和。WHILE循环会在@i小于等于10时重复执行循环体,每次循环都会更新@sum的值。最终,SELECT语句会输出结果为55,即1到10的和。在SQL Server中,WHILE语句用于重复执行一个代码块,直到指定的条件变为假为止。语法如下:

sql 复制代码
-- 初始化变量
DECLARE @variable_name int

-- 设置初始值
SET @variable_name = initial_value

-- WHILE循环
WHILE condition
BEGIN
    -- 循环体代码

    -- 更新变量值
    SET @variable_name = new_value
END

在以上语法中:

  • @variable_name是一个用户定义的变量,用于控制循环。
  • initial_value是变量的初始值。
  • condition是一个布尔表达式,用于决定是否继续循环。
  • new_value是一个表达式,用于更新变量的值。

下面是一个使用WHILE循环的示例,计算1到10的和:

sql 复制代码
DECLARE @i int
DECLARE @sum int

SET @i = 1
SET @sum = 0

WHILE @i <= 10
BEGIN
    SET @sum = @sum + @i
    SET @i = @i + 1
END

SELECT @sum

这个示例中,变量@i用于计数,变量@sum用于累加和。WHILE循环会在@i小于等于10时重复执行循环体,每次循环都会更新@sum的值。最终,SELECT语句会输出结果为55,即1到10的和。

相关推荐
oradh4 小时前
Oracle TX 锁 Mode 4(Share)问题排查总结
数据库·oracle·tx 锁 mode 4·oracle tx 锁
yi.Ist4 小时前
数据定义语言-DDL操作
数据库·学习·mysql·oracle·大海豚
2601_963282776 小时前
工程项目、政企采购为什么优先选择对讲机批量采购?
数据库
Doraemomo6 小时前
SQLite数据库
数据库·sqlite
云贝教育-郑老师6 小时前
MySQL 的“黑匣子“:Performance Schema 把数据库内部变成一张可查的表
数据库·mysql
这个DBA有点耶8 小时前
同城双活落地的三座山:网络延迟、脑裂预防、反向同步
数据库·架构·dba
青春之我_XP8 小时前
MySQL 常用日期函数 实战指南
数据库·sql·mysql·数据分析·数据库开发·日期函数
Nturmoils8 小时前
sys_dump 备了库,角色和权限别漏在外面
数据库
接着奏乐接着舞。9 小时前
【2026】73道Redis 常见面试题与参考答案
数据库·redis·后端·缓存