zoukankan      html  css  js  c++  java
  • SQL 2005 新功能

    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一句话就支持分页,性能据说也非常不错。 
    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 
    这个比较酷,.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/'  
    )
      
  • 相关阅读:
    构建之法 读书笔记二
    聚集索引,非聚集索引,覆盖索引
    最佳左前缀法则
    悲观锁和乐观锁
    JVM (三)- GC 垃圾回收器
    JVM 内存模型
    Java内存模型(JMM) 和 JVM 内存模型区别
    byType 和 byName 的区别
    Spring注入方式
    Java高性能编程-java基础-1.1.5线程通信
  • 原文地址:https://www.cnblogs.com/zhangchenliang/p/2053036.html
Copyright © 2011-2022 走看看