深入sql server 2005 萬能分頁存儲(chǔ)過程的詳解
–建立主表臨時(shí)表
CREATE TABLE #temp
(
rownumber bigint,
orderseqno VARCHAR(36),
goodsname VARCHAR(50),
companyname VARCHAR(100)
)
–建立子表臨 時(shí)表
CREATE TABLE #detail
(
orderseqno VARCHAR(36),
detailid UNIQUEIDENTIFIER,
unitprice DECIMAL(12,2),
Qty int
)
–插入主表數(shù)據(jù)到主表臨時(shí)表
insert into #temp
SELECT oo.rownumber, oo.OrderSeqNO, oo.GoodsName, oo.CompanyName FROM
(SELECT ROW_NUMBER () OVER (ORDER BY oi.createdate DESC) AS rownumber,
oi.OrderSeqNO, oi.GoodsName ,ci.CompanyName
FROM OrderInfo oi INNER JOIN CompanyInfo ci ON oi.CompanyID=ci.CompanyID
WHERE oi.CreateDate<GETDATE()
) AS oo
WHERE rownumber BETWEEN 10 AND 20
–定義游標(biāo)
DECLARE @temp_cursor CURSOR
–給游標(biāo)賦值
SET @temp_cursor=CURSOR FOR SELECT #temp.orderseqno,#temp.goodsname FROM #temp
–定義游標(biāo)循環(huán)過程中所需保存的臨時(shí)數(shù)據(jù)
DECLARE @orderseqno VARCHAR(36),@goodsname varchar(50)
–打開游標(biāo)
OPEN @temp_cursor
FETCH NEXT FROM @temp_cursor INTO @orderseqno,@goodsname
–循環(huán)游標(biāo),查詢子表數(shù)據(jù),然后插入子表臨時(shí)表
WHILE @@FETCH_STATUS=0
BEGIN
INSERT INTO #detail
SELECT od.OrderSeqNO,od.OrderDetailID, od.UnitPrice,od.Qty
FROM OrderDetail od
WHERE od.OrderSeqNO=@orderseqno
FETCH NEXT FROM @temp_cursor INTO @orderseqno,@goodsname
END
–關(guān)閉游標(biāo)
CLOSE @temp_cursor
DEALLOCATE @temp_cursor
SELECT * FROM #temp
SELECT * FROM #detail
–刪除臨時(shí)表
DROP TABLE #temp
DROP TABLE #detail
上面的T-SQL只在SQL Server 2005上調(diào)試成功。
- 五種SQL Server分頁存儲(chǔ)過程的方法及性能比較
- SQL Server 分頁查詢通用存儲(chǔ)過程(只做分頁查詢用)
- sqlserver2005利用臨時(shí)表和@@RowCount提高分頁查詢存儲(chǔ)過程性能示例分享
- 基于Sql Server通用分頁存儲(chǔ)過程的解決方法
- mssql 高效的分頁存儲(chǔ)過程分享
- SQL Server 2005通用分頁存儲(chǔ)過程及多表聯(lián)接應(yīng)用
- MSSQL MySQL 數(shù)據(jù)庫分頁(存儲(chǔ)過程)
- 三種SQL分頁查詢的存儲(chǔ)過程代碼
- SQL通用存儲(chǔ)過程分頁,支持多表聯(lián)合
- SQL分頁查詢存儲(chǔ)過程代碼分享
相關(guān)文章
SQL?Server附加數(shù)據(jù)庫時(shí)出現(xiàn)錯(cuò)誤的處理方法
通過附加功能添加現(xiàn)成的數(shù)據(jù)庫是非常方便的,然而有時(shí)會(huì)出現(xiàn)附加數(shù)據(jù)庫失敗,下面這篇文章主要給大家介紹了關(guān)于SQL?Server附加數(shù)據(jù)庫時(shí)出現(xiàn)錯(cuò)誤的處理方法,需要的朋友可以參考下2022-12-12
sql server通過腳本進(jìn)行數(shù)據(jù)庫壓縮全備份的方法【推薦】
這篇文章主要介紹了sql server通過腳本進(jìn)行數(shù)據(jù)庫壓縮全備份的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06
SQL?Server使用T-SQL進(jìn)階之公用表表達(dá)式(CTE)
這篇文章介紹了SQL?Server中T-SQL的公用表表達(dá)式(CTE),文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
mssql server 數(shù)據(jù)庫附加不上解決辦法分享
在我們做開發(fā)中經(jīng)常會(huì)對(duì)數(shù)據(jù)庫進(jìn)行備份,但有時(shí)假就會(huì)出現(xiàn)數(shù)據(jù)庫附加不上問題,下面我們來看看一個(gè)朋友的解決辦法2011-09-09

