1
数据库原理与应用技术
1.10.1.1 9.1.1 T-SQL程序结构
9.1.1 T-SQL程序结构

可以使用T-SQL语句编写服务器端的程序。一般而言,一个程序由以下要素组成。

(1) 注释。

(2) 批处理。

(3) 程序中使用的变量、函数等。

(4) 改变批处理语句执行顺序的流程控制语句。

(5) 错误和消息的处理。

1. 注释语句

注释(注解)是程序代码中非执行的内容,不参与程序的编译。使用注释可对代码进行说明,可提高程序代码的可读性,使程序代码日后更易于维护。注释也可用于描述复杂计算或解释编程方法。

SQL Server 2012支持两种形式的注释语句:

(1) “--”(双连字符):注释内容从双连字符开始到行尾结束,常用于单行注释。

(2) /*…*/(正斜杠+星号对):注释内容从开始注释对(/*) 到结束注释对(*/) 之间的全部内容。常用于多行(块)注释,当然也可用于单行注释。

2. 批处理——GO

批处理是使用GO语句将多条SQL语句进行分隔,其中每两条GO语句之间的SQL语句就是一个批处理单元。一个批处理中可以只包含一条语句,也可以包含多条语句。若编译错误,则均不执行。若执行错误,则前面执行的语句不受影响。可利用批处理语句来提高程序的执行效率。

GO用于向SQL Server实用工具发出一批T-SQL语句结束的信号。语法格式如下:

GO [count]

其中,count为一个正整数,表示GO 之前的批处理将执行指定的次数。

要注意以下几点。

(1) GO不是T-SQL语句,它是可由sqlcmd和osql实用工具及SQL Server Management Studio代码编辑器识别的语句。

(2) GO语句和T-SQL语句不能在同一行中,但在GO命令行中可包含注释。

(3) 用户必须遵照使用批处理的规则。例如,批处理中的第一条语句后执行任何存储过程必须包含 EXECUTE 关键字。

3. PRINT语句

PRINT语句用于向客户端返回用户定义消息。使用PRINT可以帮助我们排除T-SQL语句中的故障、检查数据值或生成报告。语法格式如下:

PRINT 'any ASCII text' |@local_variable |@@FUNCTION | string_expression

其中,PRINT语句用于显示字符串、局部变量或全局变量。如果变量值不是字符串,则必须先用数据类型转换函数CONVERT将其转换为字符串。string_expression代表可返回一个字符串的表达式,例如,Print 'ABCDEFG'