目录

1、begin end语句

2、if else语句

3、case语句

4、while语句

5、go to 语句

6、return 语句

7、wait for 语句


SQL Server中可以使用T-SQL语言中的流程控制语句实现程序的选择结构和循环结构。

 

1、begin end语句

选择结构和循环结构中,如果语句组由两条或两条以上语句构成,则需要使用begin…end语句将语句组包围,作为一个语句整体,作用类似于其它程序设计语言中的括号。

mysql流程控制语句包括哪些 sql 流程控制语句_选择结构

 begin和end必须成对出现,之间的语句可以只有一条。。   通常在选择结构、循环结构以及创建事务的语句组中应用较多。

 

 

2、if else语句

if…else…语句是选择结构的典型代表。程序根据条件判断的结果选择走向,得到不同的输出结果。

mysql流程控制语句包括哪些 sql 流程控制语句_逻辑表达式_02

说明:

mysql流程控制语句包括哪些 sql 流程控制语句_逻辑表达式_03

 

 

在“商品管理数据库”的“库存信息表”中查看是否有库存数量小于100的商品,如果有则打印一条“某商品库存数量少于100,请查看后及时补货!”的提示信息,如果没有则打印一条“所有商品货源充足!”的提示信息

mysql流程控制语句包括哪些 sql 流程控制语句_逻辑表达式_04

程序中用到exists语句作为逻辑判断条件,用来判断是否有库存数量小于100的商品存在。   if语句和else语句后面的语句组都只有一条语句,可以不使用begin…end语句。

 

3、case语句

在程序设计中case语句也是选择结构的一种,通常用来表示多个条件判断分支。case语句在使用时可以分为case语句后加测试表达式和测试语句后不加测试表达式两种情况.

mysql流程控制语句包括哪些 sql 流程控制语句_字段_05

“测试表达式”通常是字段名或常量变量表达式等。   程序从上到下依次判断“测试匹配值”与“测试表达式”的逻辑关系,如果判断结果为真,则执行then语句后的“结果”,若同时有多个“测试匹配值”与“测试表达式”匹配,则只显示第一个匹配成功的“结果”。

else语句为可选项,当when语句后的“测试匹配值”于“测试表达式”不匹配时,则显示else后的“结果”。   必须以case语句开始以end语句结束,case语句执行后继续向下执行程序。

 

在“商品管理数据库”的“客户信息表”中添加一个备注字段,备注字段的内容由原表中地址字段决定。如果地址字段内容为“辽宁沈阳”则备注字段添加“024”的备注信息;如果地址字段内容“辽宁大连”则备注字段添加“0411”的备注信息;其它地址字段的备注信息显示“0000”。

mysql流程控制语句包括哪些 sql 流程控制语句_mysql流程控制语句包括哪些_06

程序中若不加else语句,则结果中地址为非“辽宁沈阳”和“辽宁大连”的备注字段将被赋值为空(NULL)。   代码中使用了“=”等号法为新添加的“备注”字段命名。

 

 

mysql流程控制语句包括哪些 sql 流程控制语句_逻辑表达式_07

when后的“逻辑表达式”结果应为布尔型。   程序从上到下依次判断when语句后的“逻辑表达式”值,若某一when语句后的“逻辑表达式”结果为真,则执行其后的“结果”,执行完毕后继续判断下一个when语句后的“逻辑表达式”。else语句是可选项,对于“逻辑表达式”判断结果为假的记录显示else后的“结果”。   必须以case语句开始以end语句结束,case语句执行后继续向下执行程序。

 

在“商品管理数据库”的“商品信息表”中添加一个备注字段,备注字段的内容由原表中商品单位字段决定。如果商品单位字段内容为“袋”则备注字段添加“12个”的备注信息;如果商品单位字段内容“盒”则备注字段添加“24个”的备注信息;其它商品单位不添加备注信息。结果显示商品编号、商品名称、商品单位和备注字段即可

mysql流程控制语句包括哪些 sql 流程控制语句_字段_08

 

mysql流程控制语句包括哪些 sql 流程控制语句_选择结构_09

 

 

 

4、while语句

mysql流程控制语句包括哪些 sql 流程控制语句_选择结构_10

 “条件表达式”的结果必须是逻辑型。
 “循环部分语句组”如果由多条语句构成,需要使用begin…end包围。
  continue是可选项,表示忽略continue之后的语句,结束本次循环,开始下一次循环。
  break是可选项,表示直接退出循环,程序执行该循环后面的其它语句。
 

 

使用while循环语句求1到100的整数和。

mysql流程控制语句包括哪些 sql 流程控制语句_字段_11

由于print语句一次不能输出两个表达式,因此将得到的结果@s的值使用convert函数(数据类型转换函数)转换成字符型,再与字符串型连接,构成输出结果。

  convert函数的用法:convert( 数据类型 [ (长度) ] , 表达式 )。将表达式的数据类型转换成函数中的数据类型。

 

 

5、go to 语句

 goto语句是程序跳转语句,程序会在遇到goto语句时跳过goto语句后面的T-SQL语句,直接到预先设定好的标签位置,并从标签位置继续执行。

goto语句可出现在条件控制流语句、语句块或过程中,但它不能跳转到该批处理以外的标签。goto语句可以跳转到定义在它之前或之后的标签,也可嵌套使用。

 

 

6、return 语句

return语句可以使程序从查询或过程中无条件退出。return 语句的执行是即时且完全的,可在任何时候用于从过程、批处理或语句块中退出。

return之后的语句是不执行的。return语句执行后将返回一个整数值,表示执行return语句时的状态。除非另外说明,否则所有系统存储过程都将返回一个0值,此值表示成功,非0值表示失败。

 

 

7、wait for 语句

 waitfor语句是指在达到指定时间或时间间隔之前,阻止执行批处理、存储过程或事务程序,起到暂停程序执行的作用。

mysql流程控制语句包括哪些 sql 流程控制语句_选择结构_12

 

设置程序在10秒钟之后显示“商品管理数据库”中“客户信息表”的记录信息

mysql流程控制语句包括哪些 sql 流程控制语句_选择结构_13