SQL Server 2000实验指导-实验11.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL Server 2000实验指导-实验11

* 实验11 用户定义数据类型与自定义函数 本实验包含两方面的内容:一个是学习掌握用户定义数据类型的特点及定义方法,以及如何使用用户定义数据类型;另一个是学习掌握用户自定义函数的概念、创建及使用方法。 【知识要点】 1.用户定义数据类型 (1)为何使用用户定义数据类型 当一个或多个表的字段中要存储同样类型的数据,且想确保这些字段具有完全相同的数据类型、长度和是否为NULL时,可使用用户定义数据类型。例如,学生号和教师号的数据类型都是基于CHAR的有固定长度6个字符,且不为空。 (2)用户定义数据类型的特点 用户定义的数据类型名称在数据库中必须是唯一的,但是名称不同的用户定义的数据类型可以有相同的定义。 (3)创建用户定义数据类型语句 sp_addtype [@typename=] 类型, [@phystype=] 系统定义的数据类型 [,[@nulltype = ‘NULL|NOT NULL’] [,[@owner = ‘属主名’] 实验11 用户定义数据类型与自定义函数 2.用户定义函数简介 (1)为何使用用户定义函数 用户定义函数可以让你针对特定应用程序问题提供解决方案。这些函数可以简单到计算一个值,也可以复杂到定义和实现业务处理规则。定义了这些函数以后,在需要的时候调用即可,如果业务处理的规则发生变化,只需要修改相应的函数,只要这些接口未发生变化,就可以保持原来的函数调用。 (2)用户定义函数的类型 SQL Server2000有3种自定义函数:标量函数、内嵌表值函数和多语句表值函数。 用户定义函数采用零个或更多的输入参数并返回标量值或表。函数最多可以有 1124 个输入参数。当函数的参数有默认值时,调用该函数时必须指定默认 DEFAULT 关键字才能获取默认值。用户定义函数不支持输出参数。 标量函数 标量函数返回在 RETURNS 子句中定义的类型的单个数据值。返回类型可以是除 text、ntext、image、cursor 和 timestamp 之外的任何数据类型。不支持用户定义数据类型和非标量类型(如 table 或 cursor)。 内嵌表值函数 内嵌表值函数返回table。没有函数主体;表是单个SELECT语句的结果集。 多语句表值函数 多语句表值函数返回table,在 BEGIN...END 块中定义的函数主体包含 TRANSACT-SQL 语句,这些语句可生成行并将行插入将返回的表中。 实验11 用户定义数据类型与自定义函数 (3)创建用户定义函数语句 标量函数 CREATE FUNCTION [ 属主名.] 函数名 ????([{@parameter_name [AS] 标量参数数据类型 [=default]} [ ,...n ] ] ) RETURNS 标量返回数据类型 [ WITH function_option [ [,] ...n] ] [ AS ] BEGIN ????函数体 ????RETURN 标量表达式 END 内嵌表值函数 CREATE FUNCTION [ 属主名.] 函数名 ????( [ { @parameter_name [AS] 标量参数数据类型 [ = default ] } [ ,...n ] ] ) RETURNS TABLE [ WITH function_option [ [,] ...n ] ] [ AS ] RETURN [ ( ) select语句 ] 实验11 用户定义数据类型与自定义函数 多语句表值函数 CREATE FUNCTION [属主名.] 函数名 ????( [ { @parameter_name [AS] 标量参数数据类型 [ = default ] } [ ,...n ] ] ) RETURNS @return_variable TABLE table_type_definition [ WITH function_option [ [,] ...n ] ] [ AS ] BEGIN ????函数体 ????RETURN END function_option ::= ????{ ENCRYPTION | SCHEMABINDING } table_type_definition ::= ????( { column_definition | table_constraint } [ ,...n ] ) 【实验目的】 学习和掌握用户定义数据类型的概念、创建及使用方法; 学习和掌握用户定义函数的概念、创建及使用方法。 实验11.1 创建和使用用

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档