流程控制的定义
一般是指用来控制程序执行和流程分至点额命令,一般指的是逻辑计算部分的控制。
流程控制种类
常见的流程控制有以下8种
BEGIN ... END | WAITFOR | GOTO |
WHILE | IF ... ELSE | BREAK |
RETURN | CONTINUE |
下面给大家具体介绍每种流程控制的用法。
BEGIN...END
BEGIN ... END语句用于将多个T-SQL语句合为一个逻辑块。当流程控制语句必须执行一个包含两条或两条以上的T-SQL语句的语句块时,使用BEGIN ... END语句。
语法
BEGIN
sql_statement...
END
示例
我们在数据库中打印出我们公众号的名称"SQL数据库开发"
结果如下:
这里的SELECT @A就是一条被执行的命令语句。
IF [...ELSE]
IF [...ELSE]表示可以只使用IF,也可以IF和ELSE一起使用,表示条件判断。当满足某个条件使,就执行IF 下面的语句,否则执行ELSE下面的语句
IF语法
IF <条件表达式>
{命令行 | 程序块}
IF示例
如果某字符串的长度大于5,就打印该字符串
结果:
这里结果与上面的BEGIN...END一样,但是如果我们将条件改成大于8,结果可能就不是这样的了,小伙伴们可以试一下。
IF...ELSE语法
IF <条件表达式>
{命令行 | 程序块}
ELSE {命令行 | 程序块}
IF...ELSE示例
如果字符串的长度大于10,就打印该字符串,否则打印"字符串长度太短"
结果:
很明显字符串"SQL数据库开发"长度不大于10,所以返回ELSE里的结果了。
WHILE
WHILE是循环控制,当满足WHILE后面的条件后,就可以循环执行WHILE下面的语句。通常与CONTINUE和BREAK一起使用,Break命令让程序完全跳出循环语句,结束WHILE命令,CONTINUE是让命令继续返回执行
语法
WHILE <条件表达式>
{命令行 | 程序块}
CONTINUE
{命令行 | 程序块}
BREAK
{命令行 | 程序块}
示例
有1到10这样一组数字,从1按顺序开始,遇到偶数就跳过,遇到奇数就打印出来,当遇到9就结束打印。
结果如下:
我们只正常打印出来了1-3-5-7其他的不是跳过就是到9就结束了。