Skip/Take trên SqlServer 2012 dễ hơn với offset và fetch

1 trong những tính năng mới của SqlServer 2012 đó là khả năng Server Paging

SELECT *
FROM MyTable
ORDER BY Id ASC
OFFSET 6000 ROWS  --skip 6000
FETCH NEXT 10 ROWS ONLY --take 10

Chúng ta có thể vận dụng nó vào xây dựng stored procedure để gọi dễ dàng
Nếu update ta dùng sub query:

update MyTable
set MyField = @myval
where Id in(
	select id
	from  MyTable
	where ...
	order by Id asc
	offset 6000 rows
	fetcth next 10 rows only);

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google photo

Bạn đang bình luận bằng tài khoản Google Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s