1.利用 ROW_NUMBER 实现分页
     ROW_NUMBER() 就是生成一个顺序的行号,而他生成顺序的标准,就是后面紧跟的OVER(ORDER BY ReportID)。
sqlserver2005 技巧--按Freight从小到大排序,求20到30行的结果 
sqlserver2005 技巧
select * from
sqlserver2005 技巧    
select OrderId, Freight, ROW_NUMBER() OVER(order by Freight) as row from Orders 
sqlserver2005 技巧) a 
sqlserver2005 技巧
where row between 20 and 30 

2.TOP的参数
sqlserver2005 技巧--前n名的订单
sqlserver2005 技巧
declare @n int 
sqlserver2005 技巧
set @n = 10 
sqlserver2005 技巧
select TOP(@n* from Orders 

3.排名
sqlserver2005 技巧select * from
sqlserver2005 技巧    
select OrderId, Freight, RANK() OVER(order by Freight) as rank from Orders 
sqlserver2005 技巧) a 
sqlserver2005 技巧
where rank between 20 and 30

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

5.通用表达式CTE
通过表达式可免除你过去创建临时表的麻烦。特别,通过表达式还支持递归。
sqlserver2005 技巧--例子:结合通用表达式进行分页
sqlserver2005 技巧
WITH OrderFreight AS
sqlserver2005 技巧    
select OrderId, Freight, ROW_NUMBER() OVER(order by Freight) as row from Orders 
sqlserver2005 技巧
sqlserver2005 技巧
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
sqlserver2005 技巧--DataSet CustOrdersOrders(string customerID) 
sqlserver2005 技巧
CREATE ENDPOINT Orders_Endpoint 
sqlserver2005 技巧state
=started 
sqlserver2005 技巧
as http( 
sqlserver2005 技巧    path
='/sql/orders'
sqlserver2005 技巧    AUTHENTICATION
=(INTEGRATED), 
sqlserver2005 技巧    ports
=(clear) 
sqlserver2005 技巧
sqlserver2005 技巧
for soap( 
sqlserver2005 技巧    WebMethod 
'CustOrdersOrders'(   
sqlserver2005 技巧        name
='Northwind.dbo.CustOrdersOrders' 
sqlserver2005 技巧    ), 
sqlserver2005 技巧    
sqlserver2005 技巧    wsdl
=default
sqlserver2005 技巧    
database='Northwind'
sqlserver2005 技巧    namespace
='http://mysite.org/' 
sqlserver2005 技巧

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


<注:以上内容部分来自http://walkdan.cnblogs.com/>

相关文章:

猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-27
  • 2021-07-02
  • 2021-12-05
  • 2021-10-30
相关资源
相似解决方案