Phân trang sử dụng cursor trong Sql 2000

Phân trang sử dụng cursor trong Sql 2000

Chào các bạn. Mình xin giới thiệu với các bạn về Cursor trong SQL và cách sử dụng nó để dùng cho việc phân trang

Cursor giúp chúng ta có thể lấy dữ liệu vào trong bộ nhớ sau đó bạn có thể Fetch (nạp) lần lượt từng bản ghi  bằng cách Move Next.

Bây giờ mình xin giới thiệu cách dùng Cursor để phân trang mà mình đã học được từ Thầy của mình.

Giả sử mình có bảng được tạo ra như sau:

create table sitelinks
(
                           iid int primary key identity(1,1),
                           vurl varchar(100),
                           vdesc nvarchar(200)
)

Để phân trang thì đầu tiên ta cần phải biết được bạn muốn lấy ra trang thứ bao nhiêu và số bản ghi trả về là bao nhiêu. Stored Procedure như sau:

CREATE PROC padding @curentpage int, @returnrows int
AS
CREATE TABLE #tb_temp(iid int, vurl varchar(100), vdesc nvarchar(200))
DECLARE   padding_cursor SCROLL CURSOR
FOR
            SELECT * FROM sitelinks  
OPEN padding_cursor

DECLARE  @iid int

DECLARE   @vurl varchar(100)

DECLARE   @vdesc nvarchar(200) 

DECLARE   @from int

DECLARE   @count_of_rows int

DECLARE  @total_row int 

SET @from = @curentpage * @returnrows + 1

SET @total_row = @@cursor_rows 

BEGIN

SET @count_of_rows = @returnrows

            WHILE(@count_of_rows > 0)

            BEGIN

                        FETCH ABSOLUTE @from FROM padding_cursor INTO @iid, @vurl, @vdesc

                        INSERT INTO #tb_temp VALUES(@iid, @vurl, @vdesc)

                        SET @from = @from + 1

                        SET @count_of_rows = @count_of_rows -1

            END

END 

CLOSE padding_cursor 

DEALLOCATE padding_cursor 

SELECT * FROM #tb_temp

SELECT @total_row AS total_record

Ở đây chúng ta sẽ dùng một bảng tạm #tb_temp để insert lần lược từng bản ghi đựợc chọn, sau khi đã insert hết tất cả các bản ghi thì ta sẽ đóng con trỏ và gọi bảng #tb_temp ra.

Bây giờ bạn chỉ việc nhập dữ liệu vào bảng sitelinks và gọi Stored Procedure  “padding” ra. Ví dụ:

EXEC padding 0, 5

Sẽ lấy ra 5 bản ghi tại trang 1.

Hy vọng bài viết này sẽ giúp ích cho các bạn.

Tags: 
Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Tommy Tran

Tommy Tran owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy
  • Phone/Zalo: (+84) 944 225 212
  • WhatsApp: (+84) 944 225 212
  • Line Messenger: (+84) 944 225 212
  • Email: [email protected]
  • Telegram Messenger: https:/t.me/tommytran0401

Bình luận (0)

 

Add Comment

Plain text

  • No HTML tags allowed.
  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Tự động ngắt dòng và đoạn văn.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
2 + 1 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.

Quảng cáo việc làm

 

Thích hợp các bạn nữ mảng thợ may làm việc tại nước NGA

Đơn hàng Tuyển dụng 100 Thợ may đi Nga(đợt 1 tháng 3.2021, đợt 2 tháng 5.2021). Lương thực lãnh 800 USD, bao ăn ở, vé máy bay và visa, phí xuất cảnh(1800 USD)trả khi đi làm có lương. Bạn có thể liên hệ CÔNG TY qua Phone/Zalo: (+84) 944 225 212. Công ty sẽ tư vấn cho bạn.

Xem chi tiết: >>> https://bit.ly/3o9NOfR

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Google

Google Classifier for parked domain là gì?

Vào khoảng ngày 20/04/2012, hàng loạt các website đang đứng ở thứ hạng cao bất ngờ bị rớt hạng.

Android là hệ điều hành bị virus tấn công nhiều nhất

Android là hệ điều hành bị virus tấn công nhiều nhất

Hệ điều hành di động của Google, Android, thống trị thị trường và bị tấn công mạnh nhất bởi virus “con ngựa thành Troy” và hàng loạt virus khác.

Gimp

Gimp có thể thay thế photoshop trên Mac

Gimp là một trình biên tập hình ảnh phổ biến và khá mạnh mẽ từ thế giới Linux mà cơ bản như một phần mềm miễn phí của photoshop, hoàn chỉnh với nhiều công cụ được sử dụng để chỉnh sửa hình ảnh

Wordpress Freelancer

 

Wordpress Freelancer