侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

SQL Server控制语句的基本应用

数据库  /  管理员 发布于 5年前   291

1.语句块(BEGIN…END)
语句块语法如下:
        BEGIN
          <SQL语句或程序块>
        END
BEGIN…END用来设定一个语句块,可以将多条Transact-SQL语句封装起来构成一个语句块,在处理时,整个语句块被视为一条语句。BEGIN…END经常用在条件语句中,如IF…ELSE 或WHILE循环中。BEGIN…END语句可以嵌套使用。

2.判断语句(IF…ELSE)
通常计算机是按顺序执行程序中的语句,但是在许多情况下,语句执行的顺序以及是否执行依赖于程序运行的中间结果,在这种情况下,必须根据某个变量或表达式的值作出判断,以决定执行哪些语句或不执行哪些语句。这时可以利用IF…ELSE语句作出判断,选择执行某条语句或语句块。
判断语句语法如下:
      IF  <条件表达式>
          <命令行或语句块1>
     [ ELSE [条件表达式]
        <命令行或语句块2> ]

3 检测语句(IF…EXISTS)
IF…EXISTS语句用于检测数据是否存在,而不考虑与之匹配的行数。对于存在性检测而言,使用IF…EXISTS要比使用COUNT(*)>0好,效率更高,因为只要找到第一个匹配的行,服务器就会停止执行SELECT语句。
检测语句语法如下:
    IF  [NOT]  EXISTS  (SELECT查询语句)
         <命令行或语句块1>
     [ELSE]
      <命令行或语句块2>

4 多分支判断语句(CASE…WHEN)
CASE…WHEN结构提供了比IF…ELSE结构更多的选择和判断机会,使用它可以很方便地实现多分支判断,从而避免多重IF…ELSE语句嵌套使用。多分支判断语句CASE…WHEN语法有两种格式:
第一种格式语法如下:
     CASE <算术表达式>
         WHEN <算术表达式> THEN <运算式>
         WHEN <算术表达式> THEN <运算式>
        [ELSE <算术表达式>]
    END
第二种格式语法如下:
    CASE
        WHEN <条件表达式> THEN <运算式>
        WHEN <条件表达式> THEN <运算式> 
        [ELSE <运算式>]
    END

5 循环语句(WHILE)
循环语句可以设置重复执行SQL语句或语句块的条件,只要指定的条件为TRUE(条件成立),就重复执行语句。
循环语句语法如下:
    WHILE <条件表达式>
    BEGIN
        <命令行或程序块>
        [BREAK]
        [CONTINUE]
        [命令行或程序块]
    END

6 跳转语句(GOTO)
使用跳转语句GOTO可以改变程序执行的流程,使程序跳到标有标识符的指定程序行,再继续往下执行,作为跳转目标的标识符可以是数字与字符的组合,但必须以“:”结尾。
跳转语句语法如下:
    GOTO  标识符:

7 返回语句(RETURN)
返回语句用于结束当前程序的执行返回到上一个调用它的程序或其它程序,在括号内可指定一个返回值。返回语句可使程序从批处理、存储过程、触发器中无条件退出,不再执行RETURN之后的任何语句。返回语句语法如下:
    RETURN  ([整数值])

8 延期执行语句(WAIT…FOR)
WAITFOR语句用来暂时停止程序执行,直到所设定的等待时间已过或所设定的时刻已到,才继续往下执行。其中时间必须为DATETIME 类型的数据,延迟时间和时刻均采用“HH:MM:SS”格式,在WAITFOR语句中不能指定日期,并且时间长度不能超过24小时。
延期执行语句语法如下:
     WAITFOR { DELAY <‘时间'> | TIME <‘时间'> }
       sql_statement
      DELAY:用来设定等待的时间间隔,最多可达24 小时。
      TIME:用来设定等待结束的时间点。
      sql_statement:设定的等待时间已过或所设定的时刻已到,要继续执行的SQL操作语句。


  • 上一条:
    SQL Server 游标语句 声明/打开/循环实例
    下一条:
    SQL Server的基本功能性语句介绍
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 分库分表的目的、优缺点及具体实现方式介绍(0个评论)
    • DevDB - 在 VS 代码中直接访问数据库(0个评论)
    • 在ubuntu系统中实现mysql数据存储目录迁移流程步骤(0个评论)
    • 在mysql中使用存储过程批量新增测试数据流程步骤(0个评论)
    • php+mysql数据库批量根据条件快速更新、连表更新sql实现(0个评论)
    • 近期文章
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2017-06
    • 2017-08
    • 2017-09
    • 2017-10
    • 2017-11
    • 2018-01
    • 2018-05
    • 2018-10
    • 2018-11
    • 2020-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-08
    • 2020-09
    • 2021-02
    • 2021-04
    • 2021-07
    • 2021-08
    • 2021-11
    • 2021-12
    • 2022-02
    • 2022-03
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-07
    • 2023-08
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-03
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客