欢迎来到天天文库
浏览记录
ID:58728504
大小:293.00 KB
页数:65页
时间:2020-10-04
《T-SQL程序设计、自定义类型、函数和游标ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章T-SQL程序设计、自定义类型、函数和游标7.1批处理、脚本、注释与变量7.2T-SQL流程控制语句7.3用户自定义数据类型7.4用户自定义函数7.5游标的创建与使用7.6实训要求与习题第7章T-SQL程序设计、自定义类型、函数和游标学习目的与要求程序设计流程语句、自定义数据类型、自定义函数和游标是数据库的重要组成部分。程序设计流程语句包括顺序、选择、循环结构的控制语句,是数据库应用程序设计的基础。自定义数据类型和自定义函数可实现对基本数据类型及数据处理函数的扩充,丰富数据库的数据类型及信息处理功能。游标则提供了对数据库中的数据灵活
2、处理的方式,可实现对数据信息进行复杂处理的功能。通过本章学习,读者应掌握如何用流程控制语句设计程序,掌握自定义数据类型和自定义函数的创建、编辑修改与应用,理解游标的意义,掌握游标的创建与使用。7.1批处理、脚本、注释与变量7.1.1、批处理的概念批处理就是一个或多个相关SQL语句的集合,用GO语句作为批处理的结束标志。若没有GO语句,默认所有的语句属于一个批处理。SQLServer的程序发送和编译以批处理为一个程序执行单元。如果一个批处理中任何一个语句有语法错误(例如引用不存在的对象),则整个批处理都不能执行,若只是批处理中的某个语句有执
3、行错误(例如违反约束),则该语句不能执行,其他语句仍可以正常执行。7.1.1、批处理的概念编写SQL语句的注意事项:lCREATEDEFAULT创建默认值、CREATERULE创建规则、CREATEVIEW创建视图、CREATEPROCEDURE创建存储过程、CREATETRIGGER创建触发器对象等,都必须单独作为一个批处理,不能与其他语句放在一个批处理中。l不能创建CHECK检查约束后在同一个批处理中马上使用这个约束。l不能把默认值或规则对象绑定到字段或自定义类型上以后,在同一个批处理中马上使用它们。l不能在修改字段的名字之后马上在同
4、一个批处理中使用新字段名。l在一个批处理中定义的局部变量只在该批处理中有效,不能用于其他批处理。l批处理结束语句GO必须单独一行,可在其后使用注释。如果批处理第一个语句是执行存储过程,则语句开头的EXECUTE关键字可以省略,否则不允许省略,可以使用简写EXEC。7.1.2、SQL脚本文件脚本就是包含一个或多个批处理的程序文件。我们可以把创建、维护、使用数据库的有关操作步骤—含有一个或多个批处理的代码模块存放到磁盘上作为一个脚本文件,即可以重复使用,也可以在不同计算机上传递。脚本可以在查询分析器中输入、创建、保存、打开并通过isqlw实用
5、程序执行,也可以在DOS命令行中通过isql或osql实用程序来执行。7.1.3、SQL语句的注释注释是程序的说明或暂时禁止使用的语句而不被执行,使用注释可以使程序清晰可读,有助于以后的管理维护。SQLServer支持行注释和块注释两种方式:1、行内注释格式:--注释内容以两个减号开始直到本行结束的全部内容都被认为是注释内容。行注释可以单独一行,也可以跟在SQL语句之后,注释内容中还可以有双减号(允许嵌套),双减号之后也可以没有内容。7.1.3、SQL语句的注释2、块注释格式:/*注释内容*/以“/*”开始不论多少行,直到“*/”之间的所
6、有文字都被作为注释内容。块注释可以从一行开头开始,也可以跟在SQL语句之后开始,注释内容中还可以有“/*”字符组合,也可以有单个“*”“/”字符,但不能有“*/”组合(不允许嵌套),中间可以没有注释内容。7.1.3、SQL语句的注释【例7-1】注释的使用/*脚本文件名:SQL8-1.sql编写日期:2005年8月14日星期日功能:查询2006年全部或某个月份销售商品数量和相应的营业员*/USEdiannaoxs--打开数据库GO/*一个批处理结束*/SELECT序号,销售日期,货名,数量,销售员FROM销售表2006--WHERE销售日期
7、beteen‘2006/3/1’and‘2006/4/1’--上句去掉注释号可查询3月份销售记录GO7.1.4、局部变量与全局变量1、局部变量(用户自定义变量)局部变量一般用于临时存储各种类型的数据,以便在SQL语句之间传递。例如作为循环变量控制循环次数,暂时保存函数或存储过程返回的值,也可以使用table类型代替临时表临时存放一张表的全部数据。(1)用DECLARE语句声明定义局部变量DECLARE{@变量名数据类型[(长度)]}[,…n]l局部变量必须以@开头以区别字段名变量。l变量名必须符合标识符的构成规则。l变量的数据类型可以是系
8、统类型,也可以是用户自定义类型,但不允许是text、ntext、image类型。l系统固定长度的数据类型不需要指定长度。1、局部变量【例7-2】变量的定义DECLARE@namechar(6)
此文档下载收益归作者所有