62,025
社区成员
发帖
与我相关
我的任务
分享
alter proc [DataBind]
(
@TableName varchar(50), --表名
@ReFieldsStr varchar(200) = '*', --字段名(全部字段为*)
@OrderString varchar(200)='[ID] asc', --排序字段(必须!支持多字段不用加order by)
@WhereString varchar(500) ='1=1', --条件语句(不用加where)
@TotalCount int =0 --绑定多少条记录
)
AS
BEGIN
Declare @SqlString nvarchar(2000);
SET @SqlString = '(select row_number() over (order by '+ @OrderString +') as rowID,'+@ReFieldsStr+' from '+ @TableName;--查询语句
SET @SqlString =@SqlString+ ' where '+ @WhereString;
if(@TotalCount<=0)
SET @SqlString ='select * from ' + @SqlString + ') as t';
else
SET @SqlString ='select * from ' + @SqlString + ') as t where rowId between ' + ltrim(str(1)) + ' and ' + ltrim(str(@TotalCount));
Exec(@SqlString)
END