Thursday, May 10, 2012

การสร้าง SQL Paging โดย Store Procedure

เกริ่นนำ
บทความนี้จะขออธิบายตัวอย่างการประยุกต์ใช้งาน Store Procedure ในการแบ่ง Page ของข้อมูล สำหรับผู้ที่เคยใช้ MySQL ไม่ว่าเวอร์ชั่นไหนคงคุ้นเคยกันดีกับการใช้คำสั่ง Select โดยมีคีย์เวิร์ด limit ซึ่งใน Sql Sever นั้นไม่มีครับแต่มีผู้นำมาประยุกต์โดยใช้ Store Procedure ตามต้วอย่างนี้

ตัวอย่างโค้ด


DECLARE @StartRow INT
DECLARE @EndRow INT
SET @StartRow = 120
SET @EndRow = 140
SELECT Col1, Col2, Col3
FROM
(
SELECT A.Col1, A.Col2, A.Col3,
ROW_NUMBER() OVER(Order BY A.Col1, A.Col2, A.Col3) AS RowNumber
FROM tblTest A
) Test
WHERE RowNumber > @StartRow AND RowNumber < @EndRow
ORDER BY Col1, Col2, Col3

ซึ่งผมก็ได้ลองนำไปใช้งานแล้วบนเว็บที่พัฒนาจาก asp.net c# ก็ใช้งานได้ดีครับ ลองนำไปใช้กันดูสำหรับคนที่ยังติดกับการใช้ PHP & MySQL กัน

อ้างอิง

ตัวอย่างนี้นำมาจากบทความ How we can develop database paging using PLSQL in Sql Server 2005

Author: Zunnair

ซึ่งก็จำไม่ได้แล้วว่านำมาจากลิงค์ไหนครับ แต่ใช้งานได้ดีทีเดียว

No comments:

Post a Comment