• MySql分页存储过程


    分页获取数据 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 ;
    //执行存储过程
    CALL `testDB`.`GetRecordAsPage`('article','*','',1,2,1,'aid');

      

     获得总记录数

    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 ;
    //执行存储过程
    CALL testDB.GetRecordCount('article','');

      

  • 相关阅读:
    LUA表的引用理解
    UNITY 打包安卓APK
    UNITY打包问题
    U3D 打包时找不到tag的问题
    break prefab instance的原理
    C#调用LUA函数
    LUA 利用#遍历表的问题
    U3D笔记11:47 2016/11/30-15:15 2016/12/19
    Unity3D 预设打包的注意事项
    回调 和 覆盖
  • 原文地址:https://www.cnblogs.com/xsj1989/p/6482790.html
Copyright © 2020-2023  润新知