体验SQL Server2005中T-SQL特性
5632111 | Rob | Kinkad | 456-69-8754 4 | 7563333 | Joe | Roberts | 564-89-5555 注意第二个结果集数据是按社会安全编号来排序的,但是行号仍然创建得好像数据是按employee_id排序的。 触发器很久以来就是T-SQL特性的一部分,现在他们的作用被扩大了。在SQL Server2005中,微软提供了数据定义语言(DDL)触发器。DDL触发器,就像名字所暗示的,可以配置为当在SQL Server 中DDL活动发生时它就会执行。DDL语句是由任何你在SQL Server数据库中使用的修改、创建或删除对象的命令组成。一般情况下,大多数DDL语句以CREATE、ALTER或DROP开头。利用DDL触发器,你可以选择无论任何时候只要一个用户发出DROP TABLE命令就运行某一脚本。 在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的下一版本即将发布,我肯定它将包含更多的新功能。
|
SQL Server2005 错误处理 T-SQL 相关文章:
- 数据库系统设计全面介绍(上)(11-30)
- 数据库系统设计全面介绍(下)(11-30)
- 官方白皮书:达梦数据库的界面设计(11-30)
- 利用SQL Server数据库快照形成报表(01-01)
- 浅析SQL Server与Oracle区别(04-22)
- SQL Server块日志恢复(04-25)