|
两个sql server 2000的通用分页存储过程(7) */
@TableName VARCHAR(200), --表名 @FieldList VARCHAR(2000), --显示列名 @PrimaryKey VARCHAR(100), --单一主键或唯一值键或联合主键列表(用英文,隔开)或能确定唯一行的多列列表(用英文,隔开) @Where VARCHAR(1000), --查询条件 不含'where'字符 @Order VARCHAR(1000), --排序 不含'order by'字符,用英文,隔开 @RecorderCount INT, --记录总数 0:会返回总记录 @PageSize INT, --每页输出的记录数 @PageIndex INT, --当前页数 @TotalCount INT OUTPUT, --返回记录总数 @TotalPageCount INT OUTPUT --返回总页数 AS
SET NOCOUNT ON SET @FieldList = REPLACE(@FieldList,' ','') IF @FieldList = '*' BEGIN SET @FieldList = 'A.*'END ELSE BEGIN SET @FieldList = 'A.' + REPLACE(@FieldList,',',',A.') END WHILE CHARINDEX(', ',@Order)>0 BEGIN SET @Order = REPLACE(@Order,', ',',') END
IF ISNULL(@TableName,'') = '' OR ISNULL(@PrimaryKey,'') = '' OR @RecorderCount < 0 OR @PageSize < 0 OR @PageIndex < 0
|