MySql分页存储过程
生活随笔
收集整理的這篇文章主要介紹了
MySql分页存储过程
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
分頁(yè)獲取數(shù)據(jù) code
DELIMITER $$ DROP PROCEDURE IF EXISTS `testDB`.`GetRecordAsPage` $$ CREATE PROCEDURE `testDB`.`GetRecordAsPage` (in tbName varchar(800),in fldName varchar(1000), in strWhere varchar(500),in pageIndex int,in pageSize int,in orderType int,in sortName varchar(50)) BEGIN declare startRow int; declare sqlStr varchar(1000); declare limitTemp varchar(1000); declare orderTemp varchar(1000); set startRow = (pageIndex-1)*pageSize; set sqlStr = CONCAT('SELECT ',fldName,' from ',tbName); set limitTemp = CONCAT(' limit ',startRow,',',pageSize); set orderTemp = CONCAT(' order by ',sortName); if orderType = 0 then set orderTemp = CONCAT(orderTemp,' ASC '); else set orderTemp = CONCAT(orderTemp,' DESC '); end if; set @sqlString = CONCAT(sqlStr,' ',strWhere,orderTemp,limitTemp); prepare sqlstmt from @sqlString; execute sqlstmt; deallocate prepare sqlstmt; END $$ DELIMITER ; //執(zhí)行存儲(chǔ)過(guò)程CALL `testDB`.`GetRecordAsPage`('article','*','',1,2,1,'aid');
?獲得總記錄數(shù)
DELIMITER $$ DROP PROCEDURE IF EXISTS `testDB`.`GetRecordCount` $$ CREATE PROCEDURE `testDB`.`GetRecordCount`(in tbName varchar(1000),in strWhere varchar(1000)) BEGIN set @strSQL=concat('select count(*) as countStr from ',tbName,strWhere); prepare sqlstmt from @strSQL; execute sqlstmt; deallocate prepare sqlstmt; END $$ DELIMITER ;//執(zhí)行存儲(chǔ)過(guò)程
CALL testDB.GetRecordCount('article','');
?
轉(zhuǎn)載于:https://www.cnblogs.com/xsj1989/p/6482790.html
總結(jié)
以上是生活随笔為你收集整理的MySql分页存储过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: UE4从4.15移植到4.16
- 下一篇: django-xadmin使用之更改菜单