4.4.4 管理自定义函数
与管理自定义数据类型、存储过程以及触发器一样,数据库管理人员同样可以使用Transact-SQL脚本和Microsoft SQL Server Management Studio来管理自定义函数。下面分别就这两种方法进行简单的介绍。
1. 使用Transact-SQL脚本管理自定义函数
使用Transact-SQL脚本,可以创建、修改并且删除一个Transact-SQL型的自定义函数。分别对应关键字CREATE(创建) FUNCTION、ALTER(修改) FUNCTION和DROP(删除) FUNCTION。在此不再赘述。需要注意的是,如果删除的是一个CLR型的自定义函数,可能需要删除自定义函数,以及与之绑定的程序集。SQL Server 2005提供了两个视图用于保存与程序集以及自定义函数相关的信息,分别为sys.assemblies和sys.assembly_modules。
【示例17】使用Transact-SQL脚本管理自定义函数。
步骤如下。
(1) 在【查询编辑器】中输入如下Transact-SQL脚本:
SELECT * FROM sys.assembly_modules
(2) 单击【执行】按钮可以查看当前SQL Server中的所有自定义函数的相关信息,如图4.58所示。
![]() |
| 图4.58 所有自定义函数的相关信息 |
(3) 若想删除该自定义函数,可在【查询编辑器】中输入如下代码:
IF EXISTS(SELECT * FROM sys.assembly_modules
WHERE assembly_class = 'ClrAggregate.AvgUnitPriceOfOrderDetails')
DROP AGGREGATE AvgUnitPriceOfOrderDetails
GO
|
(4) 单击【执行】按钮,即可删除自定义函数AvgUnitPriceOfOrderDetails。继续在【查询编辑器】中输入下面的SQL脚本:
SELECT * FROM sys.assemblies
(5) 可查看当前SQL Server服务器中所有程序集的相关信息,如图4.59所示。
![]() |
| 图4.59 所有程序集的相关信息 |
(6) 因此,如果想删除名为ClrAggregate的程序集,可使用下面的Transact-SQL脚本:
IF EXISTS (SELECT * FROM sys.assemblies WHERE name = N'ClrAggregate')
DROP ASSEMBLY ClrAggregate;
GO
(7) 单击【执行】按钮,即可删除名为ClrAggregate的程序集。
2. 使用SQL Server Management Studio管理自定义函数
与用户自定义类型相同,SQL Server Management Studio为数据库管理人员提供了用于管理用户定义函数的功能。右击任何一个Transact-SQL型的用户自定义函数,弹出的快捷菜单中提供了用于管理自定义函数的命令,如图4.60所示。
![]() |
| 图4.60 管理自定义函数的命令 |
| 回书目 上一节 下一节 |
|
||||
| · Linux——从菜鸟到高手 · 如何优化IT 控制能耗 · 国际文档格式标准开战 · SQL Server入门到精通 · SQL Server 2008/2005.. · 贝恩资本携手华为22亿.. · ARP攻击防范与解决方案 · 华为员工自杀频频拷问.. |
· 初探敏捷开发 · 体验Visual Studio 200.. · SOA 面向服务架构 · CISSP认证成长之路 · 隐私保护技术探讨 · WCF开发基础 · 珊瑚虫QQ作者侵权案开庭 · 计算机网络维护入门 |
|||
|
||||
| · iSCSI应用与发展 · SQL Server 2008/2005.. · SOA 面向服务架构 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · 中间件应用技术专题 · SQL Server入门到精通 |
· 病毒查杀专题 · 国际文档格式标准开战 · Linux防火墙 · 打造安全服务器 · Sniffer安全技术从入门.. · SOA 面向服务架构 · ADSL应用面面俱到 · 入侵防护系统(IPS)初探 |
|||
|
||||
| · iSCSI应用与发展 · 中间件应用技术专题 · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · iSCSI应用与发展 · RAID——磁盘阵列基础 · 身份认证技术 |
· 病毒查杀专题 · 清除流氓软件——51CTO.. · Sniffer安全技术从入门.. · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · ADSL应用面面俱到 · ADSL应用面面俱到 · 反垃圾邮件技术应用 |
|||