马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
用户时常会发现其实自己并不是第一个选用MySQL数据库的先驱者。”分页|数据|显现--猎取指定页的数据
CREATEPROCEDUREGetRecordFromPage
@tblNamevarchar(255),--表名
@fldNamevarchar(255),--字段名
@PageSizeint=10,--页尺寸
@PageIndexint=1,--页码
@IsCountbit=0,--前往纪录总数,非0值则前往
@OrderTypebit=0,--设置排序范例,非0值则降序
@strWherevarchar(1000)=--查询前提(注重:不要加where)
AS
declare@strSQLvarchar(6000)--主语句
declare@strTmpvarchar(100)--一时变量
declare@strOrdervarchar(400)--排序范例
if@OrderType!=0
begin
set@strTmp="<(selectmin"
set@strOrder="orderby["+@fldName+"]desc"
end
else
begin
set@strTmp=">(selectmax"
set@strOrder="orderby["+@fldName+"]asc"
end
set@strSQL="selecttop"+str(@PageSize)+"*from["
+@tblName+"]where["+@fldName+"]"+@strTmp+"(["
+@fldName+"])from(selecttop"+str((@PageIndex-1)*@PageSize)+"["
+@fldName+"]from["+@tblName+"]"+@strOrder+")astblTmp)"
+@strOrder
if@strWhere!=
set@strSQL="selecttop"+str(@PageSize)+"*from["
+@tblName+"]where["+@fldName+"]"+@strTmp+"(["
+@fldName+"])from(selecttop"+str((@PageIndex-1)*@PageSize)+"["
+@fldName+"]from["+@tblName+"]where"+@strWhere+""
+@strOrder+")astblTmp)and"+@strWhere+""+@strOrder
if@PageIndex=1
begin
set@strTmp=""
if@strWhere!=
set@strTmp="where"+@strWhere
set@strSQL="selecttop"+str(@PageSize)+"*from["
+@tblName+"]"+@strTmp+""+@strOrder
end
if@IsCount!=0
set@strSQL="selectcount(*)asTotalfrom["+@tblName+"]"
exec(@strSQL)
GO
曾经的功能列表可能会迅速变得过时了。而且,有些功能对有的应用程序非常重要,但是对别的应用程序则不一定。 |