SQLServer控制语句的基本应用

你瞧,你绿油油的小草从土里钻了出来。嫩嫩的,它在饱受严冬的考验之后,在严冬它聚集着力量,想在春天到来时,将力量释放出来,它展示出了生命力的顽强,也展现出自己对春天的渴望!在万物最需要水的时候,春雨悄悄地轻轻地到来了。生怕踩到了这些顽强的小精西。春雨打在小草的脸上,轻轻地。小草贪婪的吮吸着春雨,一会儿,春风也来 "凑热闹 "了,春风来为柳树 "梳头 "来了,春风也轻轻地,怕自己的鲁莽把柳树的头发弄断了。

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操作语句。

以上就是SQLServer控制语句的基本应用。有人不理解你很正常,不要做太多的解释,毕竟不理解那是他的事不是你的事。更多关于SQLServer控制语句的基本应用请关注haodaima.com其它相关文章!

您可能有感兴趣的文章
SqlServer生成连续数字根据指定的数字操作

SQLServer中JSON文档型数据的查询问题如何解决

SQLServer备份数据库的完整步骤

在SQLServer中如何使用TryCatch处理异常的示例详解

SQLServer序列SEQUENCE用法介绍