SQL2005比SQL2000改進的新功能

2021-04-13 08:00:43 字數 1978 閱讀 9021

1. top 表示式 

sql server 2000的top是個固定值,是不是覺得不爽,現在改進了。 

--前n名的訂單 

use northwind

declare @n int 

set @n = 10 

select top(@n) * from orders 

2. 分頁 

不知各位過去用sql server 2000是怎麼分頁的,大多都用到了臨時表。sql server 2005一句話就支援分頁,效能據說也非常不錯。 

--按freight從小到大排序,求20到30行的結果 

use northwind

select * from(select orderid, freight, row_number() over(order by freight) as row from orders) a 

where row between 20 and 30 

3. 排名 

use northwind

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是不是更加親切: 

use northwind

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 

通過表示式可免除你過去建立臨時表的麻煩。 

--例子:結合通用表示式進行分頁 

use northwind

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 

SQL2005的資料轉成SQL2000

直接restore或附加應該是不行的,用指令碼 導資料肯定沒有問題。2005轉到2000的步驟 1.生成for 2000版本的資料庫指令碼 2005 的manger studio 開啟 物件資源管理器 沒有的話按f8 連線到你的例項 右鍵要轉到2000的庫 任務 生成指令碼 在 指令碼嚮導 的 選擇...

Sql2000和Sql2005共存安裝詳細過程

在安裝了sql2000的基礎上安裝sql2005的詳細過程 sql2005版本 sql2005開發版,兩張cd的那種 作業系統 window 2003 server 假設您的電腦已安裝了sql2000,下面開始安裝sql2005。一 執行光碟1 跳過 準備 步驟,直接進行 伺服器元件 工具 聯機叢書...

sql 2005 匯入到 sql 2000的步驟

p.s.不用試圖在sql2000服務管理器上面註冊sql2005的遠端資料庫伺服器,只能先從sql2005上面匯出適合sql2000的建表指令碼,在sql2000上建庫建表,然後利用sql2000的匯入和匯出嚮導,將資料從2005匯入到2000當中。2005轉到2000的步驟步驟 1.生成for 2...