Thứ Sáu, 1 tháng 4, 2016

Sử dụng Cursor trong SQL Server

DECLARE @tblStudent table(Name varchar(50), Age int);
insert into @tblStudent(Name,Age) values('Name 1',1)
insert into @tblStudent(Name,Age) values('Name 2',2)

DECLARE @name VARCHAR(50) 
DECLARE @age int

DECLARE myCursor CURSOR FOR  
SELECT Name, Age
FROM @tblStudent

OPEN myCursor   
FETCH NEXT FROM myCursor INTO @name,@age  

WHILE @@FETCH_STATUS = 0   
BEGIN   
       print(@name + ' - ' + cast(@age as varchar))
       FETCH NEXT FROM myCursor INTO @name ,@age 
END   

CLOSE myCursor   
DEALLOCATE myCursor

Phân trang trong MS SQL Server 2012

declare @currPage int = 2,-- trang hiện tại
@recodperpage int = 20;-- số dòng trên 1 trang

select *,COUNT(*) OVER () as TotalRecords from [TenBang]
order by [TenCot]
OFFSET (@currPage - 1)*@recodperpage ROWS
FETCH NEXT @recodperpage ROWS ONLY

Phân trang theo cách truyền thống sử dụng ROW_NUMBER()