Cấp bậc tác giả:

DATABASE

Phân trang trong SQL

Được viết bởi QuangIT ngày 13/08/2012 lúc 07:33 PM
Xin giới thiệu với các bạn Procedure phân trang dữ liệu trong SQL server Giả sử ta có 1 bảng trong cơ sở dữ liệu chỉ gốm 2 trường là CateID và CateName. sau đây là Store phân trang khi cần truy vấn dữ liệu có phân trang
  • 0
  • 11116

Phân trang trong SQL

Xin giới thiệu với các bạn Procedure phân trang dữ liệu trong SQL server
Giả sử ta có 1 bảng trong cơ sở dữ liệu chỉ gốm 2 trường là CateID và CateName. sau đây là Store phân trang khi cần truy vấn dữ liệu có phân trang
CREATE PROCEDURE [dbo].[spPhanTrang_Table] (
 @PageNumber int,
 @PageSize int
)

AS
 DECLARE @Start int, @End int
 BEGIN TRANSACTION GetDataSet
 SET @Start = (((@PageNumber - 1) * @PageSize) + 1)
 IF @@ERROR <> 0
  GOTO ErrorHandler
 SET @End = (@Start + @PageSize - 1)
 IF @@ERROR <> 0
  GOTO ErrorHandler
 CREATE TABLE #TemporaryTable (
  Row int IDENTITY(1,1) PRIMARY KEY,
  CateID int, CateName nvarchar(100)
 )
 IF @@ERROR <> 0
   GOTO ErrorHandler
 INSERT INTO #TemporaryTable
  SELECT CateID, CateName FROM [TB_Category] 
 IF @@ERROR <> 0
  GOTO ErrorHandler
 SELECT CateID, CateName  
  FROM #TemporaryTable
  WHERE (Row >= @Start) AND (Row <= @End)
 IF @@ERROR <> 0
  GOTO ErrorHandler
 DROP TABLE #TemporaryTable
 COMMIT TRANSACTION GetDataSet
 RETURN 0
ErrorHandler:
ROLLBACK TRANSACTION GetDataSet
RETURN @@ERROR
Để sử dụng Store trên Bạn dùng lệnh: 
EXEC spPhanTrang_Table (1,20) -- Nếu bạn muốn hiển thị dữ liệu trang 1 và 20 bản ghi trên 1 trang
Chúc các bạn thành công

Nguồn bài viết: hmweb

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML