国际教育在线 eduworld.com.cn  主页>IT计算机>数据库培训>>正文

品味SQL Server 2005的几个新功能

  SQL Server 2005相对于SQL Server 2000改进很大,有些还是非常实用的。举几个例子来简单说明 这些例子我引用了Northwind库。

  1. TOP 表达式

  SQL Server 2000的TOP是个固定值,是不是觉得不爽,现在改进了。

  --前n名的订单

  declare @n int
  set @n = 10
  select TOP(@n) * from Orders 

  2. 分页

  不知各位过去用SQL Server 2000是怎么分页的,大多都用到了临时表。SQL Server 2005一句话就支持分页,性能据说也非常不错。

  --按Freight从小到大排序,求20到30行的结果

select * from(select OrderId, Freight, ROW_NUMBER() OVER(order by Freight) as row from Orders) a
where row between 20 and 30 

  3. 排名

select * from(select OrderId, Freight, RANK() OVER(order by Freight) as rank from Orders) a
where rank between 20 and 30 

  4. try ... catch

  SQL Server 2000没有异常,T-SQL必须逐行检查错误代码,对于习惯了try catch程序员,2005是不是更加亲切:

SET XACT_ABORT ON -- 打开 try功能
BEGIN TRY
begin tran
insert into Orders(CustomerId) values(-1)
commit tran
print 'commited'
END TRY
BEGIN CATCH
rollback
print 'rolled back'
END CATCH 

5. 通用表达式CTE

  通过表达式可免除你过去创建临时表的麻烦。

  --例子:结合通用表达式进行分页

WITH OrderFreight AS(
select OrderId, Freight, ROW_NUMBER() OVER(order by Freight) as row from Orders
)
select OrderId, Freight from OrderFreight where row between 10 and 20 

  特别,通过表达式还支持递归。

  6. 直接发布Web Service

  想要把store procedure变成Web Service就用这个吧,.NET, IIS都不需要,通过Windows 2003的HTTP Protocol Stack直接发布WebService,用这个功能需要Windows 2003 sp1

--DataSet CustOrdersOrders(string customerID)
CREATE ENDPOINT Orders_Endpoint
state=started
as http(
path='/sql/orders',
AUTHENTICATION=(INTEGRATED),
ports=(clear)
)
for soap(
WebMethod 'CustOrdersOrders'(
name='Northwind.dbo.CustOrdersOrders'
),

wsdl=default,
database='Northwind',
namespace='http://mysite.org/'

  Web Service就发布好了,敲入http://localhost/sql/orders?wsdl得到wsdl 。


【联系方式】

电 话:010-51260583 81616847 86325812
传 真:010-81616847
联系人:宋老师 杨老师
MSN:iamssnow@hotmail.com, yangminglee@hotmail.com
QQ:240632201, 675388743
E-mail:eduworld@163.com

【填写报名表】

请按要求填写下面的内容:咨询热线:010-81616847
所报课程
姓名 * 填写真实姓名(中文),以便与您联系。
联系电话 * 请留下在工作时间能联络到您的电话。
手 机 * 确保能及时与您取得联系。
电子邮箱 * 有助于您查询评估结果。
 
*如果您有特别要求,如帮别人咨询等,请在这里填写相关信息;
*国际教育在线网保证不将此信息透露于您申报院校外任何第三方。

【相关课程】

· SQLServer和Access、Excel数据传输      (2007-01-05)
· SQL Server溢出猎捕肉鸡新方法      (2007-01-05)
· 用Delphi编程访问SQLServer数据库      (2007-01-05)

【信息提示】

英国诺森比亚大学法学院商法.. 美国林肯大学 MBA英文班       美国斯特福大学IMBA学位班    
加拿大皇家大学MBA学分转移学. 美国华盛顿理工大学工商管理硕 美国北弗吉尼亚大学工商管理硕
美国高登大学国际工商管理硕士 新加坡南洋理工大学南洋商学院 詹姆斯·库克大学MBA硕士学位.
网站介绍 | 经销渠道 | 招贤纳士 | 联系我们 | 友情链接
北京联盟创业网络技术有限公司版权所有 ICP京05059882
电话:(010) 51260583 81616847 86325812 传真:(010) 81616847
网址:www.Eduworld.com.cn
联盟创业广告(北京)有限公司设计制作