SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[zh_Page]
-- Add the parameters for the stored procedure here
@PageSize INT, --每页记录
@PageIndex INT, --当前页数,1开始
@Condition VARCHAR(500), --查询条件,包括and,where,必须有一个条件如where 2>1
@TheTable VARCHAR(100), --表名
@SelectField VARCHAR(500), --要选择的字段
@OrderBy VARCHAR (200), --OrderBy字句,包括order
@TableID VARCHAR (50) --table主键
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
DECLARE @SQL VARCHAR(8000)
-- Insert statements for procedure here
--返回记录
SET @SQL='select top ' + CAST(@PageSize AS VARCHAR(10)) + ' ' + @SelectField + ' from ' + @TheTable + ' ' + @Condition + ' and '
+ @TableID +' not in (select top ' + CAST((@PageSize*(@PageIndex-1)) AS VARCHAR(10))+' '+@TableID+' from ' + @TheTable + ' ' + @Condition
+ ' ' + @OrderBy +') ' + @OrderBy
EXEC(@SQL)
--返回总数
--set @Sql='select count(' + @TableID + ') from ' + @TheTable +' ' + @Condition
--exec(@sql)
END
GO
//SQL/1213