今天研究了一下row_number,用它來返回特定行的記錄感覺是非常方便的,所以就做了個分頁的儲存過程,但不知道效能較之top和游標之類的那個好
createprocedure
[dbo].
[proc_testpage]--
表名 @tablename
nvarchar
(255
), --
排序字段
@sortcolumn
nvarchar
(255
), --
每頁記錄數
@pagecount
int,
--頁號
@pageindex
intas
declare
@beginrow
intdeclare
@endrow
intset
@beginrow=0
set@endrow=0
set@beginrow=(
@pageindex-1
)*@pagecount+1
set@endrow
=@pageindex
*@pagecount
declare
@sqlstr
nvarchar
(4000
) set
@sqlstr='
with table1 as(select *,row_number() over(order by '+
@sortcolumn+'
) as row'+
'from '+
@tablename+'
) 'set@sqlstr
=@sqlstr+'
select * from table1 where row between '+
cast
(@beginrow
asnvarchar)+
'and '+
cast
(@endrow
asnvarchar
) exec
(@sqlstr)
使用的時候關鍵要注意row_number後面的over和order by,這個必須要有的啊,呵呵
使用SQL2005 替代 SQLEXPRESS
使用sql2005 替代 sqlexpress 開啟sql server configuration manager 使能tcp ip協議 建立以下別名 別名 172.17.5.47 sqlexpress 別名 127.0.0.1 sqlexpress 別名 username sqlexpress ...
sql2005事務的使用
公司裡的每個專案都有很多一次要操作兩次以上資料庫的,為了資料的完整性,這就需要使用事務 事務也屬於儲存過程,如下 alter proc dbo js takemoney userid bigint,引數 usercode varchar 50 amount numeric 18,2 rmb nume...
SQL2005乾淨解除安裝
昨天解除安裝安裝sql2005,安裝顯示成功之後可是就是沒有進入sql的檔案,只有配置工具,於是就解除安裝了,這下可好,解除安裝沒卸乾淨,又重新安裝,這次不僅顯示上一次已經安裝的檔案已經安裝安裝完成,還顯示只有配置工具,反覆弄了好幾次還是不成功,今天起來又開始我的安裝歷程,我先決定把該解除安裝的解除...