品味SQL Server 2005的幾個新功能.txt
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 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-609997/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server 2005的30個最重要特點SQLServer
- 【SQL Server 優化效能的幾個方面】SQLServer優化
- SQL server 2005 expressSQLServerExpress
- Sql server 2005的30個最重要特點(轉)SQLServer
- SQL Server 2005中修改 Server Collation的方法SQLServer
- 關於SQL Server 2008是否是SQL Server 2005的一個Service PackSQLServer
- Sql Server 2005函式SQLServer函式
- SQL SERVER 2005 配置-saSQLServer
- SQL Server 2005鎖的問題SQLServer
- SQL Server 2005中各個系統表的作用(轉)SQLServer
- SQL SERVER2005建Link ServerSQLServer
- Sql Server 2005新增T-sql特性SQLServer
- sql server 計算兩個時間 相差的 幾天幾時幾分幾秒SQLServer
- SQL Server 2005分割槽表幾何倍數提高網站效能SQLServer網站
- SQL Server 2005資料庫IN運算的一個錯誤SQLServer資料庫
- XML Support in Microsoft SQL Server 2005XMLROSSQLServer
- PowerShell連線 SQL Server 2005SQLServer
- Monitoring Tempdb in SQL Server 2005SQLServer
- 微軟SQL Server 2005速成版微軟SQLServer
- SQL Server2005快捷鍵SQLServer
- SQL SERVER 2005映象實驗SQLServer
- SQL Server 2005 Service Broker 初探SQLServer
- SQL Server 2005 Express Edition 概述SQLServerExpress
- SQL Server 2005:清空plan cacheSQLServer
- SQL Server 2005和SQL Server 2000資料的相互匯入SQLServer
- 確定幾個SQL Server欄中的最大值SQLServer
- SQL Server 2014新功能PPTSQLServer
- SQL Server 2005聯機叢書的一個錯誤:UPDATE STATISTICS ONSQLServer
- 升級至SQL Server 2005的理由[zt]SQLServer
- Microsoft SQL Server 2005 中的國際功能ROSSQLServer
- 不同網段sql server 2005 連線 sql server 2000的問題SQLServer
- sql server 2005資料庫快照SQLServer資料庫
- 配置SQL Server 2005伺服器SQLServer伺服器
- SQL SERVER 2005表分割槽功能SQLServer
- SQL Server 2005動態管理物件SQLServer物件
- 實戰 SQL Server 2005 映象配置SQLServer
- Sql server 2005中output用法解析SQLServer
- Sql Server 2005 日誌壓縮SQLServer