深入sql server 2005 万能分页存储过程的分析

2022-11-12 09:42:17
内容摘要
这篇文章主要为大家详细介绍了深入sql server 2005 万能分页存储过程的分析,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记! –建立
文章正文

这篇文章主要为大家详细介绍了深入sql server 2005 万能分页存储过程的分析,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

–建立主表临时表CREATE TABLE #temp(rownumber bigint,orderseqno VARCHAR(36),goodsname VARCHAR(50),companyname VARCHAR(100))–建立子表临 时表CREATE TABLE #detail(orderseqno VARCHAR(36),detailid UNIQUEIDENTIFIER,unitprice DECIMAL(12,2),Qty int)–插入主表数据到主表临时表insert into #tempSELECT 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.CompanyNameFROM OrderInfo oi INNER JOIN CompanyInfo ci ON oi.CompanyID=ci.CompanyIDWHERE oi.CreateDate<GETDATE()) AS ooWHERE rownumber BETWEEN 10 AND 20

–定义游标DECLARE @temp_cursor CURSOR–给游标赋值SET @temp_cursor=CURSOR FOR SELECT #temp.orderseqno,#temp.goodsname FROM #temp

–定义游标循环过程中所需保存的临时数据DECLARE @orderseqno VARCHAR(36),@goodsname varchar(50)

–打开游标OPEN @temp_cursor

FETCH NEXT FROM @temp_cursor INTO @orderseqno,@goodsname–循环游标,查询子表数据,然后插入子表临时表WHILE @@FETCH_STATUS=0BEGININSERT INTO #detailSELECT od.OrderSeqNO,od.OrderDetailID, od.UnitPrice,od.QtyFROM OrderDetail odWHERE od.OrderSeqNO=@orderseqno

FETCH NEXT FROM @temp_cursor INTO @orderseqno,@goodsnameEND

–关闭游标CLOSE @temp_cursorDEALLOCATE @temp_cursor

SELECT * FROM #tempSELECT * FROM #detail–删除临时表DROP TABLE #tempDROP TABLE #detail上面的T-SQL只在SQL Server 2005上调试成功。

注:关于深入sql server 2005 万能分页存储过程的分析的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!