当前位置:  开发笔记 > 数据库 > 正文

SQL SERVER CLR的优点

如何解决《SQLSERVERCLR的优点》经验,为你挑选了3个好方法。

SQLServer CLR比T-SQL有什么优势?使用.NET语法比T-SQL更容易吗?我看到你可以定义用户类型,但我不清楚为什么那样更好.例如,您可以定义电子邮件类型,它将具有前缀属性和域属性.然后,您可以搜索域或前缀或两者.但是,我没有看到与添加一个名为prefix的列和一个名为domain并且单独搜索它们的列有什么不同.也许有人有现实世界的理由为什么这会更好.



1> Joel Coehoor..:

我将给出一个很好的例子:CLR有一个内置的RegEx对象,它在SQL Server中非常缺乏.现在编写函数来执行基于正则表达式的验证约束/修复是微不足道的.


http://weblogs.sqlteam.com/jeffs/archive/2007/04/27/SQL-2005-Regular-Expression-Replace.aspx

2> ConcernedOfT..:

不同的目的.CLR存储过程对于编写高度过程代码或使用无法从T-SQL访问的系统工具有益的事情非常有用.虽然没有固有的原因导致人们无法编写应用程序sprocs,但通常你不会将CLR sprocs视为编写应用程序sprocs的另一种语言.通常,CLR sproc的大多数用途都是出于系统目的而不是应用程序组件,尽管这绝不是一个硬性规则.

CLR集成层确实提供了一些不能直接从T-SQL存储过程中获得的工具,例如自定义聚合函数.它还提供对.Net库的访问,这对于访问T-SQL不支持的功能可能很有用.

T-SQL做传统的数据库工作,并与查询优化器集成,因此它仍然最适合面向集合的数据库代码.CLR sprocs有API钩子来向查询优化器提供信息,但这增加了一些复杂性.

还可以使用CLR集成来定义T-SQL代码可访问的函数.在某些情况下,这些比T-SQL函数更快,内存效率更高.关于CLR集成的Wrox新闻书在一定程度上讨论了这一点.



3> marc_s..:

您还可以例如从SQLCLR方法调用外部Web服务 - 在T-SQL中不完全可能:-)

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有