资源描述:
《Transact-SQL变量与运算符.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第十一讲Transact-SQL变量与运算符学习目标局部变量全局变量程序设计的结构及掌握常用语句程序设计的结构几个常用设计语句学习完本课程,您应该能够:知识重、难点分析重点:局部变量赋值程序设计的结构及掌握常用语句程序设计的结构难点:常用全局变量几个常用设计语句变量定义:变量是指在程序运行过程中,其值可以发生变化的量,通常用来保存程序运行过程中的输入数据,计算获得的中间结果和最终结果。分类:在SQLServer中,变量可分为:局部变量全局变量局部变量定义:局部变量是一个能够拥有特定数据类型的对象,它的作用范围仅限制在程序内部。局部变量可作为计数器来计算循环执行的次数,或控制循环执
2、行的次数。另外,利用局部变量还可以保存数据值,以供控制流语句测试以及保存由存储过程返回的数据值等。和其他高级语言一样,要使用局部变量,必须在使用前首先用declare语句定义。赋值:declare@变量名数据类型[,…]select@变量名=表达式[,…][from<表名>][where<条件表达式>]局部变量说明:可以使用select@变量名[,…]输出变量值。在局部变量没有被赋值之前,它的值是null。通常情况下,一条select赋值语句只能返回一行,如果一条select赋值语句在检索数据后返回了多行,则只将返回的最后一行的值赋给了局部变量。局部变量赋值:declare@at
3、inyintupdate学生表set@a=年龄where学号=‘08001'select@a年龄或者declare@atinyintselect@a=年龄from学生表where学号=‘08001'select@a年龄局部变量全局变量定义:全局变量是SQLServer系统内部使用的变量,其作用范围并不仅仅局限于某一程序,而是任何程序均可随时调用。全局变量通常存储一些SQLServer的配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定值或Transact-SQL命令执行后的状态值。注意:①全局变量不是由用户的程序定义的,而是在服务器级定义的。②用户只能使用预先定义的
4、全局变量。③引用全局变量时,必须以标记符“@@”开头。④局部变量的名称不能与全局变量的名称相同。全局变量1、@@rowcount前一条SQL语句处理的行数。除了declare语句之处,其他任何语句都可以改变@@rowcount的值。2、@@error前一条SQL语句报告的错误号。如果@@error为非0值,则表明执行过程中产生了错误。3、@@identity上次insert操作中使用的indentity值。该全局变量返回最后插入的标识值。程序语句1、注释符2、批处理3、块语句begin…end4、判断语句if…else5、ifexists语句6、case语句7、print语句程序
5、流程结构顺序型结构判断选择型结构if……elsecase循环控制结构while1、注释符注释是程序代码中不执行的文本字符串(也称为注解),注释符是对程序的说明,一般穿插在程序中并以特殊的标记标注出来。在Transact-SQL中可使用两类注释符:ANSI标准的两个连字符构成的注释符--,用于单行注释。与C语言相同的程序注释符号,即/*…*/。”/*”用于注释文字的开头,”*/”用于注释文字的结尾,可在程序中标识多行文字为注释。2、批处理两个GO之间的SQL语句作为一个批处理。在一个批处理中,可包含一条或多条Transact-SQL语句,成为一个语句组。这样的语句组从应用程序一次性
6、地发送到SQLServer服务器进行执行。SQLServer服务器将批处理编译成一个可执行单元,称为执行计划。3、块语句begin…endbegin[else]说明:if…else用来
7、判断当某一条件成立时,执行某段程序,条件不成立时执行另一段程序。其中〈条件表达式〉可以是各种表达式的组合,但表达式的值必须是逻辑值“真”或“假”。如果不使用语句块,if或else只能执行一条命令。if…else语句可以进行嵌套。If(Selectavg(年龄)From学生表Where班级=‘wj0801’)>=19Select‘平均年龄超过18岁’ElseSelect‘平均年龄不超过18岁’5、ifexists语句ifexists语句用于检测数据是否存在,而不考虑与之匹配的总共行