批处理
批处理是同时从应用程序发送到SQL Server并得以执行的一组单条或者多条T-SQL语句。SQL Server将批处理语句编译为单个可执行单元,称为执行计划,执行计划中的语句每次执行一条。
如果批处理中的某条语句发生编译错误,会导致批处理中所有的语句都无法执行。
批处理就是用GO语句作为一段的结束标语
第一段SQL代码GO第二部门SQL代码GO
流程控制
BEGIN…END语句
BEGIN…END语句用于将T-SQL的多个语句组合成一个逻辑块。相当于一个单一的语句达到一起执行的目的。T-SQL允许嵌套使用BEGIN…END语句
BEGIN{语句1语句2...}END
IF…ELSE语句
IF <逻辑表达式>{语句块1}[ELSE{语句块2}]
CASE语句
CASE语句用于计算多个条件并为每个条件返回单个值,以简化SQL语句格式。CASE语句实质上是函数,不能作为独立语句来执行,而是需要作为其他语句的一部分来执行。
CASE语句有两种格式:简单CASE函数和CASE搜索函数
简单CASE函数
CASE 输入表达式WHEN <表达式1> THEN <结果表达式1>WHEN <表达式2> THEN <结果表达式2>[...n][ELSE <其他结果表达式>]END
CASE搜索函数
CASEWHEN <逻辑表达式1> THEN <结果表达式1>WHEN <逻辑表达式2> THEN <结果表达式2>[...n][ELSE <其他结果表达式>]END
区别:简单CASE函数是用输入表达式和表达式进行比较,返回比较上的结果表达式。CASE搜索函数没有输入表达式,返回第一个为TRUE的逻辑表达式的结果表达式。
WHILE,CONTINUE,BREAK语句
WHILE 逻辑表达式语句块1[CONTINUE][BREAK]END
GOTO语句
标签名:...GOTO 标签名
RETURN语句
可以从过程,批处理,语句块退出
RETURN [表达式]
WAITFOR
用于实现语句延缓一段时间,或者延迟到某个特定的时间执行的功能。
WAITFOR {DELAY 'time'|TIME 'time'}
DELAY:表示一直等到指定的时间过去,最长可以达24小时 TIME:表示等待到指定时刻 time:要等待的时间。可以按照DATETIME的格式写,可以用局部变量
