- 1、本文档共132页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Transact-SQL程序设计剖析
9.2.2 用户定义函数 例9-18 创建一个用户定义函数DatetoQuarter,将输入的日期数据转换为该日期对应的季度值。如输入2006-8-5,返回3Q2006,表示2006年3季度。 CREATE FUNCTION DatetoQuarter(@dqdate datetime) RETURNS char(6) AS BEGIN RETURN(datename(q,@dqdate)+Q+datename(yyyy,@dqdate)) END 9.2.2 用户定义函数 例9-19 创建用户定义函数goodsq,返回输入商品编号的商品名称和库存量。 CREATE FUNCTION goodsq(@goods_id varchar(30)) RETURNS TABLE AS RETURN(SELECT goods_name,stock_quantity FROM goods WHERE goods_id =@goods_id) 9.2.2 用户定义函数 例9-20 根据输入的订单编号,返回该订单对应商品的编号、名称、类别编号、类别名称。 CREATE FUNCTION good_info(@in_o_id varchar(10)) RETURNS @goodinfo TABLE (o_id char(6), g_id char(6), g_name varchar(50), c_id char(6), c_name varchar(20)) AS BEGIN DECLARE @g_id varchar(10),@g_name varchar(30) DECLARE @c_id varchar(10),@c_name varchar(30) SELECT @g_id=goods_id FROM sell_order WHERE order_id1=@in_o_id SELECT @g_name=goods_name,@c_id=classification_id FROM goods WHERE goods_id=@g_id SELECT @c_name=classification_name FROM goods_classification WHERE @c_id=classification_id INSERT @goodinfo VALUES(@in_o_id,@g_id,@g_name,@c_id,@c_name) RETURN END 9.2.2 用户定义函数 在SQL Server管理平台中选择要创建用户定义函数的数据库(如Sales),在数据库对象“函数”项上单击右键,从弹出的快捷菜单中选择“新建”→“内嵌表值函数”选项,出现如图所示的“用户定义函数属性”编辑框。 (2)使用SQL Server管理平台创建用户定义函数 9.2.2 用户定义函数 在“用户定义函数属性” 编辑框的文本框中指定函数名称(如numtostr),编写函数的代码。执行代码后,将用户定义函数对象添加到数据库中。 9.2.2 用户定义函数 2. 执行用户定义函数 使用函数需要指出函数所有者,即为函数加上所有者权限作为前缀。其语法格式如下: [database_name.]owner_name.function_name ([argument_expr] [, ...] ) 9.2.2 用户定义函数 例如,调用例9-18创建的用户定义函数DatetoQuarter SELECT dbo.DatetoQuarter (2006-8-5) 运行结果为: 3Q2006 调用例9-20创建的用户定义函数good_info,使用以下语句: SELECT * FROM dbo.good_info(S00002) 运行结果为表的记录,如图9-3所示。 9.2.2 用户定义函数 3. 修改和删除用户定义函数 用SQL Server管理平台中修改用户定义函数,选择要修改函数,单击右键,从快捷菜单中选择“修改”选项,打开图9-2所示的“用户定义函数属性”编辑框。在该对话框中可以修改用户定义函数的函数体、参数等。从快捷菜单中选择“删除”选项,则可删除用户定义函数。 用ALTER FUNCTION命令也可以修改用户定义函数。此命令的语法与CREAT FUNCTION相同,使用ALTER FUNCTION命令相当于重建一个同名的函数。 使用DROP FUNCTION命令删除用户定义函数,其语法如下: DROP FUNCTION { [ owner_name .] function_name } [ ,...n ] 其中,funct
文档评论(0)