网站大量收购独家精品文档,联系QQ:2885784924

第17章SQLServer函数概述.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课堂练习 6. 创建一个计算圆柱体体积的函数。(两个参数:@r,@h) 7. 在查询分析器中执行这个函数,并查看结果。 表值函数 表值函数:内嵌表值函数、多语句表值函数 返回 table 的用户定义函数可以是替代视图的强大方式。 返回 table 的用户定义函数可用在 T-SQL 查询中允许表或视图表达式的地方。 视图限制于单个 SELECT 语句,而用户定义函数可包含允许比视图中具有的逻辑功能更强大的附加语句。 内嵌表值函数 内嵌函数可用于实现参数化视图的功能。 内嵌表值函数,没有函数主体(即没有BEGIN … END块)。 内嵌表值函数返回单个 SELECT 语句的结果集。 内嵌表值函数语法 CREATE FUNCTION [ owner_name.] function_name ( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] ) RETURNS TABLE [ WITH function_option [ [,] ...n ] ] [ AS ] RETURN [ ( ] select-satement [ ) ] 创建内嵌表值函数举例(一) USE pubs GO CREATE FUNCTION type_book (@type varchar(10)) RETURNS TABLE AS RETURN (SELECT title_id,title,type,price FROM titles WHERE type = @type) 创建内嵌表值函数举例(二) 上面的函数返回的是一个结果集,我们可以把这个函数“看成”是一个带参数的视图。(注意:视图是不允许带参数的) 我们可以在任何可以使用视图的地方使用这个函数。 使用内嵌表值函数 选择所有商业类的图书信息 select * from type_book(business) 选择所有价格小于15美元的商业类图书 Select * from type_book(business) Where price 15 课堂练习 8. 创建一个内嵌表值函数,要求这个函数能够以州名为参数,包含某个指定州的所有作家信息。并调用这个函数。 多语句表值函数 对于多语句表值函数,在 BEGIN...END 块中定义的函数主体包含 TRANSACT-SQL 语句,这些语句可生成行,并将行插入将返回的表中。 相当于在函数体中创建一个中间表,同时向这个表中插入数据,最后返回这个表。 多语句表值函数语法 CREATE FUNCTION [ owner_name.] function_name ( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] ) RETURNS @return_variable TABLE table_type_definition [ WITH function_option [ [,] ...n ] ] [ AS ] BEGIN function_body RETURN END CREATE FUNCTION LargeOrderShippers ( @FreightParm money ) RETURNS @OrderShipperTab TABLE ( ShipperID int, ShipperName nvarchar(80), OrderID int, ShippedDate datetime, Freight money ) AS BEGIN INSERT @OrderShipperTab SELECT S.ShipperID, S.CompanyName, O.OrderID, O.ShippedDate, O.Freight FROM Shippers AS S INNER JOIN Orders AS O ON S.ShipperID = O.ShipVia WHERE O.Freight @FreightParm RETURN END 创建多语句表值函数举例 CREATE FUNCTION type_book2 (@type varchar(10)) RETURNS @ret TABLE ( Title_id varchar(10), Title v

文档评论(0)

花仙子 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档