SQL Server 2005中的T-SQL增强

丰富的数据类型 Richer Data Types 1、varchar(max)、nvarchar(max)和varbinary(max)数据类型最多可以保存2GB的数据,可以取代text、ntext或image数据类型。 2、XML数据类型 XML数据类型允许用户在SQL Server数据库中保存XML片段或文档。 错误处理 Error Handling 1、新的异常处理结构 2、可以捕获和处理过去会导致批处理终止的错误。前提是这些错误不会导致连接中断(通常是严重程度为21以上的错误,例如,表或数据库完整性可疑、硬件错误等等)。 3、TRY/CATCH 构造 快照隔离 Snapshot Isolation 1、写入程序不会阻碍读取程序 2、新的隔离级别提供了以下优点: 1) 提高了只读应用程序的数据可用性 2) 允许在OLTP环境中执行非阻止读取操作 3) 可对写入事务进行自动的强制冲突检测 TOP 增强功能 1、TOP 增强。可以指定一个数字表达式,以返回要通过查询影响的行数或百分比,还可以根据情况使用变量或子查询。 可以在DELETE、UPDATE和INSERT查询中使用TOP选项。 2、更好地替换SET ROWCOUNT选项,使之更为有效。 OUTPUT 1、SQL Server 2005引入一个新的OUTPUT子句,以使您可以冲修改语句(INSERT、UPDATE、DELETE)中将数据返回到表变量中。 2、新的OUTPUT子局的语法为: OUTPUT INTO @table_variable 可以通过引用插入的表或删除的表来访问被修改的行的旧/新影象,其方式与访问触发器类似。在INSERT语句中,只能访问插入的表。在DELETE语句中,只能访问删除的表。在UPDATE语句中,可以访问插入的表和删除的表。 排序函数 Ranking Functions 1、SQL Server引入几个新的排序函数:如ROW_NUMBER、RANK、DENSE_RANK等。这些新函数使您可以有效地分析数据以及向查询的结果行提供排序值。 2、排序函数都遵循类似的语法模式:()OVER,([PARTITION BY],ORDER BY)。该函数只能在查询的两个子句中指定 - 在SELECT子句或ORDER BY子句中。以下详细讨论不同的函数。 3、ROW_NUMBER ROW_NUMBER是结果集的顺序, 而不是数据库中纪录存放的原始顺序 新的关系运算符 PIVOT/UNPIVOT/APPLY 1、PIVOT PIVOT运算符将行旋转为列,并且可能同时执行聚合。使用PIVOT运算符时要注意的重要一点是,需要为它提供一个查询表达式,表达式使用视图、派生表或者是CTE只返回所关注的列。 2、UNPIVOT UNPIVOT运算符执行与PIVOT运算符相反的操作;他将列旋转为行了。 3、APPLY APPLY关系运算符允许您对外部表的每个行调用指定的表值函数一次。您可以在查询的FROM子句中指定APPLY,其方式与使用JOIN关系运算符类似。APPLY具有两种形式:CROSS APPLY和OUTER APPLY。 DDL触发器 DDL Triggers SQL Server 2005可以就整个服务器或数据库的某个范围为DDL事件定义触发器。也可以为单个DDL语句(例如:CREAT_TABLE、DROP_TABLE等)或者为一组语句(例如:指定DDL_DATABASE_LEVEL_EVENTS想要触发器触发数据库所有DDL事件)定义DDL触发器。 在DDL触发器内部,可以通过访问eventdata()函数获得与激发该触发器的事件有关的数据。该eventdata()函数返回有关事件的xml数据。 DDL触发器特别有用的方案包括DDL更改的完整性检查、审核方案以及其他方案。 总结 SQL Server 2005中的Transaction-SQL增强功能提高了用户在编写查询时的表达能力,使用户可以改善代码的性能,并且扩充了错误处理能力。SQL Server 2005 在Transaction-SQL上所做的改进反映了其更好地满足了ANSI-99 SQL规范的要求以及客户的需求。在Transaction-SQL和托管代码之间的选择。

你可能感兴趣的:(sql server 2005)