存储过程|翻页CREATE PROC Turnpage
qCols varchar(200), --需要查询的列
qTables varchar(200), --需要查询的表 和条件
iKey varchar (20), --标识字段
oKey varchar(20), --排序字段
pageSize int, --每页的行数
pageNumber int --要显示的页码, 从0开始
AS
set nocount on
BEGIN
DECLARE sqlText AS varchar(1000)
DECLARE sqlTable AS varchar(1000)
SET sqlTable = 'SELECT TOP ' + CAST((pageNumber + 1) * pageSize AS varchar(30)) + ' ' + qCols +' from '+ qTables + ' order by '+oKey+ ' desc'
SET sqlText =
'SELECT TOP ' + CAST(pageSize AS varchar(30)) + ' * ' +
'FROM (' + sqlTable + ') AS tableA ' +
'WHERE ' + iKey + ' NOT IN(SELECT TOP ' +
CAST(pageNumber * pageSize AS varchar(30)) + ' ' + iKey +
' FROM (' + sqlTable + ') AS tableB)'
EXEC (sqlText)
--print(sqltext)
END
GO
翻页的存储过程
80酷酷网 80kuku.com