페이지 저장 프로 세 스(3)sqlserver 에서 더욱 정확 한 페이지 결 과 를 만 듭 니 다.
--
-- , ,
-- ,
CREATE TABLE #order
(
number BIGINT,
orderseqno VARCHAR(36),
)
insert into #order
SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY oi.CreateDate DESC) AS rownumber,oi.OrderSeqNO
FROM OrderInfo oi WHERE oi.OrderSeqNO LIKE '%2%' ) AS o
WHERE o.rownumber BETWEEN 10 AND 20
SELECT * FROM #order INNER JOIN OrderDetail od ON od.OrderSeqNO=#order.orderseqno
DROP TABLE #order
--SELECT TOP 10 oi.OrderSeqNO, oi.GoodsName ,ci.CompanyName,od.*
--FROM OrderInfo oi INNER JOIN CompanyInfo ci ON oi.CompanyID=ci.CompanyID
--LEFT JOIN OrderDetail od ON oi.OrderSeqNO=od.OrderSeqNO
-- row_unmber()
-- 10 , 10 , 10
-- , ,
-- , 1:N ,
--
-- CLUSTERED INDEX INDEX_OrderInfo ON OrderInfo (OrderSeqNo)
--
--SET STATISTICS IO ON
select * from
(SELECT ROW_NUMBER () OVER (ORDER BY oi.createdate DESC) AS rownumber,oi.orderseqno ,od.OrderDetailID
FROM OrderInfo oi LEFT JOIN OrderDetail od ON oi.OrderSeqNO=od.OrderSeqNO
WHERE oi.OrderSeqNO LIKE '%2%'
) AS o
WHERE rownumber BETWEEN 10 AND 20
--
-- , ,
-- ,
CREATE TABLE #order
(
number BIGINT,
orderseqno VARCHAR(36),
)
insert into #order
SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY oi.CreateDate DESC) AS rownumber,oi.OrderSeqNO
FROM OrderInfo oi WHERE oi.OrderSeqNO LIKE '%2%' ) AS o
WHERE o.rownumber BETWEEN 10 AND 20
SELECT * FROM #order INNER JOIN OrderDetail od ON od.OrderSeqNO=#order.orderseqno
DROP TABLE #order
-- ,
--1、 , C# , ,
--2、 , , , , C#
--
-- , , , ,
-- ROW_NUMBER() bigint, int
--
--
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 #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
--
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=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
--
CLOSE @temp_cursor
DEALLOCATE @temp_cursor
SELECT * FROM #temp
SELECT * FROM #detail
--
DROP TABLE #temp
DROP TABLE #detail
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
페이지 의 자동 페이지 나 누 기 실현1. 머리말 국경절 연 휴 에 기숙사 에 살 면서 블 로그 원 을 계속 방문 하기 시 작 했 는데 많은 채소 새 (본인 포함) 들 이 자동 으로 페이지 를 나 누 는 기능, 즉 js 를 통 해 페이지 의 페이지 를 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.