欢迎投稿

今日深度:

T-SQL查询进阶--流程控制语句(1)(2)

T-SQL中的8个流程控制语句关键字

在T-SQL中,与流程控制语句相关的关键字有8个:

BEGIN...END

BREAK

GOTO

CONTINUE

IF...ELSE

WHILE

RETURN

WAITFOR

下面对上述关键字进行挨个讲解

BEGIN…END关键字

BEGIN…END关键字也是流程控制语句需要用到的最基本关键字,用于将多个语句划分成逻辑上的一部分。其实可以直接理解成类C语言中的花括号(“{}"“)

WHILE/BREAK/CONTINUE关键字

在T-SQL的流程控制语句中,循环语句只有WHILE循环,并没有传统高级语言的FOR和SWITCH循环。WHILE除了被用于流程控制语句的循环之外,还经常被用于游标之中。

WHILE关键字和高级语言中的WHILE关键字几乎完全一样。WHILE循环中可以利用BREAK和CONTINUE关键字对循环进行控制。

CONTINUE关键字用于结束本次循环,直接开始下一次循环。

BREAK关键字用于直接跳出WHILE循环语句。

这里值得注意的是,当WHILE循环嵌套时,CONTINUE关键字和BREAK关键字只会作用于它们所处的WHILE循环之内,不会对外部WHILE循环产生作用。

一个简单的例子如下:从1循环到10,当循环到7时,结束本次循环并继续,当循环到8时,跳出循环

IF..ELSE关键字

IF..ELSE关键字实现了非此既彼的逻辑。和高级语言中的IF..ELSE具有完全一样的使用方法,这里就不再讲述了,例子参看上图。

还有要注意的是IF经常会和EXISTS关键字相结合来查看数据表中指定的数据是否存在,比如:

我想查询员工中没有上级的人,如果有这个人,则输出“XXX is our boss”,如果没有,则输出"There is no infomation about our boss”

GOTO关键字

GOTO关键字因为能打乱程序的整个流程而在高级语言中臭名卓著。GOTO关键字的使用非常简单,定义一个跳转标签,只要GOTO 标签名就可以。如果说一定要使用GOTO关键字的话,最佳实践是只使用在错误处理上,比如:


www.htsjk.Com true http://www.htsjk.com/shujukujc/18785.html NewsArticle T-SQL中的8个流程控制语句关键字 在T-SQL中,与流程控制语句相关的关键字有8个: BEGIN...END BREAK GOTO CONTINUE IF...ELSE WHILE RETURN WAITFOR 下面对上述关键字进行挨...
评论暂时关闭