11用户自定义函数与数据类型.pptVIP

  • 2
  • 0
  • 约4.62千字
  • 约 19页
  • 2017-06-12 发布于浙江
  • 举报
11用户自定义函数与数据类型

第11章 用户自定义函数和数据类型 用户自定义函数(User Defined Functions,UDF)和自定义数据类型是SQL Server提供的强大功能。借助用户自定义函数,数据库开发人员可以实现复杂的运算操作。而自定义数据类型,可以让用户更方便地设计与维护数据库。实际上,前面介绍的存储过程和触发器概念都可以归为用户自定义函数。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 11.1 自定义函数概述 自定义函数是由用户自己根据需要使用SQL语句编写的函数。它可以提供系统函数无法提供的功能。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 11.1.1 自定义函数与存储过程的区别 用户自定义函数与存储过程非常相似,不同之处如下。 返回值的数据类型包括大部分SQL Server数据类型,但不包括以下类型:TEXT、NTEXT、IMAGE、CURSOR和TIMESTAMP。 没有“副作用”。用户自定义函数不能进行如更改表、发送电子邮件、更改系统或数据库参数的操作,而存储过程则没有这些限制。 用户自定义函数类似于标准编程语言(如VB.NET或C++)中使用的函数。函数可以有多个输入变量,并且有一个值输出,在使用时就像使用系统函数一样,而存储过程必须要用EXEC命令来执行。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 11.1.2 自定义函数类型 根据函数返回值形式的不同,用户自定义函数分为两种类型:标量型函数和表值函数。其中,表值函数又可分为内联表值函数和多语句表值函数。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 11.2 创建自定义函数 创建自定义函数时,不论什么类型的函数,除语法外的创建过程完全相同。下面讲解创建自定义函数的操作步骤。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 11.2.1 创建标量函数 在SQL Server Management Studio中创建自定义函数的方法都是类似的。SQL Server Management Studio只起到了提供代码编辑环境的作用,具体代码需要用户自己完成。在SQL Server Management Studio中创建标量函数的操作步骤如下。 (1)启动并登录SQL Server Management Studio,在【对象资源管理器】面板中展开【StudentMan】|【可编程性】分支。 (2)右击【函数】分支,在弹出的快捷菜单中选择【新建】|【标量值函数】命令,弹出函数编辑窗口。系统已经给出了函数的基本语句模板 (3)输入函数语句,单击【执行】按钮将函数保存在系统中。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 11.2.2 创建内联表值函数 在SQL Server Management Studio中新建内联表值的操作步骤如下。 (1) 启动并登录SQL Server Management Studio,在【对象资源管理器】面板中展开【StudentMan】|【可编程性】分支,右击【函数】分支,在弹出的快捷菜单中选择【新建】|【内联表值函数】命令,弹出函数编辑窗口。系统已经给出了函数的基本语句模板。 (2) 输入函数语句,单击【执行】按钮将函数保存在系统中。 (3)在生成的模板中有一处是与标量函数的模板不同的,就是RETURNS语句中返回的类型被固定为TABLE类型。 Evaluation only. Created with Aspos

文档评论(0)

1亿VIP精品文档

相关文档