数据库实验5报告.pdfVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

北京联合大学信息学院

实验报告

题目:实验五用户自定义函数

系别:软件系

专业:软件工程

班级:软件1203B

学号:20120803600

姓名:

同组人:无

指导教师:果晓来

2014年5月21日

5.用户自定义函数(2学时)

实验目的:

学习、掌握用户自定义函数的建立和使用

实验内容:

1、创建自定义函数

创建一个用户自定义函数,并测试、查看函数返回值。

1)输入并执行下面语句

USENorthwind

GO

CREATEFUNCTIONfn_TaxRate

(@ProdIDINT)

RETURNSnumeric(5,4)

AS

BEGIN

RETURN

(SELECT

CASECategoryID

WHEN1THEN1.10

WHEN2THEN1

WHEN3THEN1.10

WHEN4THEN1.05

WHEN5THEN1

WHEN6THEN1.05

WHEN7THEN1

WHEN8THEN1.05

END

FROMProducts

WHEREProductID=@ProdID)

END

GO

2)此函数中输入变量是什么?返回值类型?如何定义的返回值?

输入变量:@ProdID返回类型:numeric定义的返回值:RETURNSnumeric(5,4)

3)输入并执行语句测试函数

SELECTProductName,UnitPrice,Northwind.dbo.fn_TaxRate(ProductID)ASTaxRate,

UnitPrice*Northwind.dbo.fn_TaxRate(ProductID)ASPriceWithTax

FROMProducts

查看结果

注意:函数可以在Select子句后面调用。

2、返回值为多值的自定义函数

创建函数返回多列多值。

1)输入并执行下面语句

USENorthwind

GO

CREATEFUNCTIONfn_LargeFreight

(@FreightAmtmoney)

RETURNSTABLE

AS

RETURN

(SELECTS.ShipperID,S.CompanyName,

O.OrderID,O.ShippedDate,O.Freight

FROMShippersASSJOINOrdersASO

ONS.ShipperID=O.ShipVia

WHEREO.Freight@FreightAmt

)

函数中输入变量是什么?返回值类型?如何定义的返回值?

输入变量:@FreightAmt返回值类型:table定义的返回值:returnstable

3)输入并执行语句测试函数

SELECT*FROMfn_LargeFreight(600)

查看结果

3、返回值为多值的自定义函数

本实验创建的函数也是返回多列多值,注意与上面实验的差别。

1)输入并执行下面语句

USENorthwind

GO

CREATEFUNCTIONfn_FindReports(@InEmployeeIDchar(5))

RETURNS@reportsTABLE

(EmployeeIDchar(5)PRIMARYKEY,

Namenvarchar(40)NOTNULL,

Titlenvarchar(30),

MgrEmployeeIDint,

processedtinyintdefault0)

AS

BEGIN

INSERT@reports

SELECTEmployeeID,Name=FirstName

文档评论(0)

159****5512 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档