欢迎来到天天文库
浏览记录
ID:48740331
大小:374.50 KB
页数:20页
时间:2020-01-21
《实验11 用户定义数据类型与自定义函数.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验11用户定义数据类型与自定义函数本实验包含两方面的内容:一个是学习掌握用户定义数据类型的特点及定义方法,以及如何使用用户定义数据类型;另一个是学习掌握用户自定义函数的概念、创建及使用方法。【知识要点】1.用户定义数据类型(1)为何使用用户定义数据类型当一个或多个表的字段中要存储同样类型的数据,且想确保这些字段具有完全相同的数据类型、长度和是否为NULL时,可使用用户定义数据类型。例如,学生号和教师号的数据类型都是基于CHAR的有固定长度6个字符,且不为空。(2)用户定义数据类型的特点用户定义的数据类型名称在数据库中必须是唯一的,但
2、是名称不同的用户定义的数据类型可以有相同的定义。(3)创建用户定义数据类型语句sp_addtype[@typename=]类型,[@phystype=]系统定义的数据类型[,[@nulltype=‘NULL
3、NOTNULL’][,[@owner=‘属主名’]实验11用户定义数据类型与自定义函数2.用户定义函数简介(1)为何使用用户定义函数用户定义函数可以让你针对特定应用程序问题提供解决方案。这些函数可以简单到计算一个值,也可以复杂到定义和实现业务处理规则。定义了这些函数以后,在需要的时候调用即可,如果业务处理的规则发生变化,只需要修改
4、相应的函数,只要这些接口未发生变化,就可以保持原来的函数调用。(2)用户定义函数的类型SQLServer2000有3种自定义函数:标量函数、内嵌表值函数和多语句表值函数。用户定义函数采用零个或更多的输入参数并返回标量值或表。函数最多可以有1124个输入参数。当函数的参数有默认值时,调用该函数时必须指定默认DEFAULT关键字才能获取默认值。用户定义函数不支持输出参数。标量函数标量函数返回在RETURNS子句中定义的类型的单个数据值。返回类型可以是除text、ntext、image、cursor和timestamp之外的任何数据类型。不
5、支持用户定义数据类型和非标量类型(如table或cursor)。内嵌表值函数内嵌表值函数返回table。没有函数主体;表是单个SELECT语句的结果集。多语句表值函数多语句表值函数返回table,在BEGIN...END块中定义的函数主体包含TRANSACT-SQL语句,这些语句可生成行并将行插入将返回的表中。实验11用户定义数据类型与自定义函数(3)创建用户定义函数语句标量函数CREATEFUNCTION[属主名.]函数名([{@parameter_name[AS]标量参数数据类型[=default]}[,...n]])RETURN
6、S标量返回数据类型[WITH[[,]...n]][AS]BEGIN函数体RETURN标量表达式END内嵌表值函数CREATEFUNCTION[属主名.]函数名([{@parameter_name[AS]标量参数数据类型[=default]}[,...n]])RETURNSTABLE[WITH[[,]...n]][AS]RETURN[()select语句]实验11用户定义数据类型与自定义函数多语句表值函数CREATEFUNCTION[属主名.]函数名([{@parame
7、ter_name[AS]标量参数数据类型[=default]}[,...n]])RETURNS@return_variableTABLE[WITH[[,]...n]][AS]BEGIN函数体RETURNEND::= {ENCRYPTION
8、SCHEMABINDING}::= ({column_definition
9、table_constraint}[,...n
10、])【实验目的】学习和掌握用户定义数据类型的概念、创建及使用方法;学习和掌握用户定义函数的概念、创建及使用方法。实验11.1创建和使用用户定义数据类型【实验目的】掌握创建用户定义数据类型的方法;掌握用户定义数据类型的使用。【实验内容】用SQL语句创建一用户定义的数据类型Idnum。要求:系统数据类型为char,长度为6,不为空。用于学号,教师号字段的数据类型;用企业管理器创建一用户定义的数据类型Nameperson。要求:系统数据类型char,长度为11,不为空。用于学生姓名,教师姓名字段的数据类型。【实验步骤】1.创建和使用一用户定
11、义的数据类型Idnum(1)用SQL语句创建一个用户定义的数据类型Idnum。T-SQL程序设计及执行用户定义的数据类型对象实验11.1创建和使用用户定义数据类型(2)使用用户定义的数据类型Idnum,创建一个学生表ST
此文档下载收益归作者所有