WEB开发网
开发学院数据库MSSQL Server 体验SQL Server2005中T-SQL特性 阅读

体验SQL Server2005中T-SQL特性

 2008-09-04 10:00:35 来源:WEB开发网   
核心提示: 在SQL Server的旧版本里一个相当普遍的练习是创建schema绑定基于你的所有生产表的视图,以防止意外删除一个生产表,体验SQL Server2005中T-SQL特性(3),因为视图是schema绑定的,删除操作会失败,花些时间探讨这些新特性——你最好赶快,S

在SQL Server的旧版本里一个相当普遍的练习是创建schema绑定基于你的所有生产表的视图,以防止意外删除一个生产表。因为视图是schema绑定的,删除操作会失败。这要求管理员做额外步骤去删除一个表;他们首先要删除一个视图。现在你可以利用DDL触发器来完成同样的目标,并且这个解决方案工作区比较小。你可以建立一个DDL触发器以alter或drop TABLE语句开头,这样可以防止这个语句的完成。这又增加了一个额外的保护层,因为这个触发器需要在改动之前被删除掉或设为不可用。

DDL触发器还具有非常显著的审计用途。触发器可以用来记录任何时候的表、存储过程或视图的增加、修改或删除的细节日志。不用再猜测是谁增加了一个新对象。真的,你用DDL触发器可以做的事是没有任何限制的。

公共语言运行库集成

SQL Server2005的T-SQL新特性是完全具有写和利用公共语言运行库(CLR)模块的能力,它可以集成到你的数据库中。CLR集成允许它写触发器、存储过程、函数、聚合函数和以.NET语言编写的类型。在你为此疯狂和开始用CLR重写所有东西之前,要警告你:花点时间仔细考虑哪些对象应该采用CLR。某些工作采用CLR很适合但有些则不行。如果你需要和操作系统交互,很可能就该采用公共语言运行库。另外,字符串解析或排序的复杂的运算法则如果采用CLR很可能执行性能会更好。然而,标准的T-SQL语句,像insert,update和delete还是留在T-SQL中好些。只用常识和性能测试任何你写的东西。

写CLR的复杂性超出了本篇文章的范围,但是我将给你一个高度见解。你需要采用Visual Studio以你选择的.NET语言来写存储过程。一旦你写了,粘贴代码作为一个部件然后创建这个存储过程、函数、触发器或类型——然后将它指向这个部件。除此以外,它可以就像传统的T-SQL对象一样被调用或被使用。在我们的专家回答区你可以获得一个对CLR例程方法和T-SQL存储过程间的差异的总的概括。

SQL Server2005中有许多改动,并不只是在T-SQL方面。我们当然没有在这片文章里涵盖所有的内容,但是这些已经是新增内容里的一些最吸引人的内容了。花些时间探讨这些新特性——你最好赶快。SQL Server的下一版本即将发布,我肯定它将包含更多的新功能。

上一页  1 2 3 

Tags:体验 SQL Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接