SQL SERVER while循环
在SQL数据库中,可以通过WHILE实现循环,下面就将为您介绍SQL循环执行while控制,希望对您提升WHILE的使用水平能够有些帮助。

WHILE Boolean_expression{ sql_statement | statement_block }[ BREAK ]{ sql_statement | statement_block }[ CONTINUE ]

参数
Boolean_expression

返回 TRUE 或 FALSE 的表达式。如果布尔表达式中含有 SELECT 语句,必须用圆括号将 SELECT 语句括起来。

{sql_statement | statement_block}

Transact-SQL 语句或用语句块定义的语句分组。若要定义语句块,请使用控制流关键字 BEGIN 和 END。

BREAK

导致从最内层的 WHILE 循环中退出。将执行出现在 END 关键字后面的任何语句,END 关键字为循环结束标记。

CONTINUE

使 WHILE 循环重新开始执行,忽略 CONTINUE 关键字后的任何语句。

实例:

USE pubs
GO
WHILE (SELECT AVG(price) FROM titles) < $30
BEGINUPDATE titlesSET price = price * 2SELECT MAX(price) FROM titlesIF (SELECT MAX(price) FROM titles) > $50BREAKELSECONTINUE
END

设置个变量,就能实现for(i=0;i<10,i++)
DECLARE @i int
set @i=0

WHILE @i<10
BEGIN
//语句序列

set @i=@i+1
END

示例
A. 在嵌套的 IF…ELSE 和 WHILE 中使用 BREAK 和 CONTINUE
在下例中,如果平均价格少于 $30,WHILE 循环就将价格加倍,然后选择最高价。如果最高价少于或等于 $50,WHILE 循环重新启动并再次将价格加倍。该循环不断地将价格加倍直到最高价格超过 $50,然后退出 WHILE 循环并打印一条消息。

USE pubs
GO
WHILE (SELECT AVG(price) FROM titles) < $30
BEGIN
UPDATE titles
SET price = price * 2
SELECT MAX(price) FROM titles
IF (SELECT MAX(price) FROM titles) > $50
BREAK
ELSE
CONTINUE
END
PRINT 'Too much for the market to bear'

SQL SERVER while循环相关推荐

  1. SQL Server 自动循环归档分区数据脚本

    SQL Server 自动循环归档分区数据脚本 原文:SQL Server 自动循环归档分区数据脚本 标签:SQL SERVER/MSSQL SERVER/数据库/DBA/表分区 概述 在很多业务场景 ...

  2. Sql Server 存储过程 循环处理字符串的每个字符

    可以使用 WHILE 循环和 ASCII 函数来处理字符串的每个字符,并使用空格进行比较.以下是一个示例存储过程: CREATE PROCEDURE ReplaceString@inputString ...

  3. 删除不需要的(辅助)SQL Server事务日志文件

    This article explores the use of multiple SQL Server Transaction Log Files and the process of removi ...

  4. Oracle 9i与MS SQL Server 2000之比较连载五.zz

    http://kb.cnblogs.com/a/1153156 Oracle 9i与MS SQL Server 2000之比较连载五 2008-04-14 18:13 四.Oracle中新的数据库对象 ...

  5. oracle+循环插入sql,SQL server,Oracle循环插入百万数据

    SQL server,Oracle循环插入百万数据 SQL server,Oracle循环插入百万数据 压测时常需要往数据库插入大量数据,下面是我往两个数据库插入数据时用的脚本 declare @ma ...

  6. sql游标 while_用SQL Server中的排名函数替换SQL While循环和游标,以提高查询性能

    sql游标 while SQL While loop and cursor are the most common approach to repeat a statement on conditio ...

  7. sql server 循环_学习SQL:SQL Server循环简介

    sql server 循环 Loops are one of the most basic, still very powerful concepts in programming – the sam ...

  8. sql中的while循环_SQL While循环:了解SQL Server中的While循环

    sql中的while循环 The SQL While loop is used to repeatedly execute a certain piece of SQL script. SQL Whi ...

  9. Sql Server常用命令整理篇:生成连续日期序列并循环

    1.生成日期序列 特别注意:经验证number不能超过2048,超过部分不可用 --生成日期序列,特别注意,经验证number不能超过2048,超过部分不可用 select observedate s ...

最新文章

  1. eclipse与SVN 结合(删除SVN中已经上传的问题)
  2. 01背包 + 概率 之 hdu 2955
  3. 啊啊啊...每次需求评审总被boss虐成狗?解药来了
  4. 用JavaScript fetch API取数据遇到CORS policy问题
  5. Linux 内核宏 time_after解析
  6. cisc 和 risc_RISC和CISC | 电脑组织
  7. org.apache.ibatis.binding.BindingException: Type interface com.kuang.dao.UserDao is not known to the
  8. CentOS 安装WildFly Jboss10
  9. 移除mac下 .Ds_Store的解决办法
  10. django mysql处理_利用Django去操作数据库并完成简易的登录及编辑功能
  11. SQL获取当前时间的前10天
  12. A very hard mathematic problem(二分)
  13. Linux系统服务 2 ---- DNS基础及域名系统架构
  14. 数学分析教程(科大)——2.1笔记+习题
  15. w7为什么计算机没有摄像头.,W7笔记本摄像头怎么打开
  16. GD32F130之LVD低压检测
  17. Houdini 求中点,点连成线
  18. python中的随机数种子seed()
  19. 排名第一《羊了个羊》我通关了
  20. 广州大学计算机学院网安学硕复试经历

热门文章

  1. python range从大到小排列_python 十大经典排序算法
  2. 万字详解,JDK1.8的Lambda、Stream和日期的使用详解
  3. leetcode的回溯算法题目用这个模板解题,一网打尽,so easy!!!
  4. 带你学python基础:文件读写,俗称IO操作
  5. Error:Unable to resolve target android-19
  6. Oracle数据库之PL/SQL
  7. 【LeetCode每周算法】零钱兑换
  8. 为什么有人说面向对象编程就是面向接口编程?
  9. python中为什么训练数据_python训练数据时打乱训练数据与标签
  10. mysql主主mycat_MySQL数据库主主复制并基于MyCAT实现高可用