数据库 
首页 > 数据库 > 浏览文章

SQL Server控制语句的基本应用

(编辑:jimmy 日期: 2024/12/28 浏览:3 次 )

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的基本功能性语句介绍
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 站点导航 SiteMap