SQL Server控制语句的基本应用

2020-07-06 05:43:27易采站长站整理

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(条件成立),就重复执行语句。

相关文章 大家在看