mysql灵活分页存储过程
CREATE PROCEDURE `SP_Pagination`(IN _TableName varchar(1000), -- 表名
IN _OrderString varchar(200), -- 排序字段(必须!支持多字段不用加order by)
IN _PageIndex int, -- 指定当前为第几页
IN _PageSize int, -- 每页多少条记录
IN _ReFieldsStr varchar(200), -- 字段名(全部字段为*)
IN _WhereString varchar(500), -- 条件语句(不用加where)
INOUT _TotalRecord int)
BEGIN
-- 处理开始点和结束点
Declare P_StartRecord int;
Declare P_TotalCountSql varchar(500);
Declare P_SqlString varchar(2000);
set P_StartRecord = (_PageIndex-1)*_PageSize;
SET P_TotalCountSql=concat('select count(*) into @totalRecord from ',_TableName);-- 总记录数语句
SET P_SqlString =concat('select ',_ReFieldsStr,' from ',_TableName);-- 查询语句
--
IF (_WhereString<>'' AND _WhereString is NOT null) THEN
SET P_TotalCountSql=concat(P_TotalCountSql,' where ',_WhereString);
SET P_SqlString =concat(P_SqlString,' where ',_WhereString);
END IF;
SET @sqlcounts=P_TotalCountSql;
prepare stmt from @sqlcounts;
execute stmt;
deallocate prepare stmt;
#获取动态SQL语句返回值
set _TotalRecord = @totalRecord; -- 返回总记录数 -- 执行主语句
set P_SqlString =CONCAT(P_SqlString,' order by ',_OrderString,' LIMIT ',P_StartRecord,',',_PageSize);
set @sqlselect = P_SqlString;
prepare stmtselect from @sqlselect;
execute stmtselect;
deallocate prepare stmtselect;
END
mysql灵活分页存储过程的更多相关文章
- MySql通用分页存储过程
MySql通用分页存储过程 1MySql通用分页存储过程 2 3过程参数 4p_cloumns varchar(500),p_tables varchar(100),p_where varchar(4 ...
- mysql通用分页存储过程遇到的问题(转载)
mysql通用分页存储过程遇到的问题(转载) http://www.cnblogs.com/daoxuebao/archive/2015/02/09/4281980.html
- mysql的分页存储过程,能够传出总记录数
最近用mysql + asp.net来写网站,既然mysql已经支持存储过程了,那么像分页这么常用的东西,当然要用存储过程啦 不过在网上找了一些,发现都有一个特点——就是不能传出总记录数,干脆自己研究 ...
- MySQL的分页存储过程
-- 创建分页存储过程-- 1 判断存在即删除DROP PROCEDURE IF EXISTS popp;-- 2 创建万能分页CREATE PROCEDURE popp(_fls VARCHAR( ...
- mysql通用分页存储过程遇到的问题
DELIMITER $$ USE `tsb_asksys`$$ DROP PROCEDURE IF EXISTS `P_viewPage`$$ CREATE DEFINER=`root`@`local ...
- MySql简单分页存储过程
BEGIN DECLARE startIndex int; select COUNT(*) INTO RecordCount from test; SET startIndex = (PageInde ...
- MYSQL分页存储过程及事务处理
最近给客户做的一小系统是SQLSERVER的数据库,因为特殊原因要切换到MYSQL上去,切换数据库确实让人头疼的,SQLSERVER和MYSQL的存储过程还是有很大差别的,下面是我做切换时转换的MYS ...
- MYSQL分页存储过程及事务处理--转自peace
MYSQL的分页过程,和事务处理的一个测试过程. /* --名称:MYSQL版查询分页存储过程 by peace 2013-8-14 --输入参数:@fields -- 要查询的字段用逗号隔开 --输 ...
- MYSQL版查询分页存储过程
/*--名称:MYSQL版查询分页存储过程 --输入参数:@fields -- 要查询的字段用逗号隔开--输入参数:@tables -- 要查询的表--输入参数:@where -- 查询条件--输入参 ...
随机推荐
- 详解 UIView 的 Tint Color 属性
在iOS 7后,UIView新增加了一个tintColor属性,这个属性定义了一个非默认的着色颜色值,其值的设置会影响到以视图为根视图的整个视图层次结构.它主要是应用到诸如app图标.导航栏.按钮等一 ...
- Firewalld防火墙
Firewalld服务是红帽RHEL7系统中默认的防火墙管理工具,特点是拥有运行时配置与永久配置选项且能够支持动态更新以及"zone"的区域功能概念,使用图形化工具firewall ...
- 可参考的gulp资源
可参考的gulp资源 入门:https://segmentfault.com/a/1190000000435599 比较详细:https://markpop.github.io/2014/09/17/ ...
- AngularJS 初学笔记(理论基础)
AngularJS 是一个 JavaScript 框架.它是一个以 JavaScript 编写的库. AngularJS 通过 ng-directives 扩展了 HTML. ng-app 指令定义一 ...
- ViewPagerIndicator的使用方法
使用方法: 1.引用library,并解决support v4 jar包冲突 2.布局文件中添加viewpager和viewpagerindicator,布局文件: <LinearLay ...
- Python笔记6(异常)-20160924
1. NameError 当视图访问一个未定义的变量则会发生NameError.
- xfs文件系统磁盘配额
引言 这篇文章简单介绍一下xfs文件系统的磁盘配额配置. 文章目录 0×1.开启分区磁盘配额 0×2.使用xfs_quota命令配置磁盘配额 0×1.开启分区磁盘配额 对于ext4文件以前的文件系统, ...
- 7. Shell 函数
1. 格式 [ function ] funname [()] { action; [return int;] } 可以带function fun() 定义,也可以直接fun() 定义,不带任何参数 ...
- 使用Interface创建的装饰者实现了必需的方法
很多开发团队也越来越认识到,自动化测试和持续部署可帮助开发团队提高迭代效率和质量.必须要有一份拿的出手的技术.社会不比在学校,上课随便听听,通过考试就行了,实在不行还有补考.在公司里,不是这样的. 正 ...
- Jquery - UI - Dialog(转)
jQuery UI Dialog常用的参数有: 1.autoOpen:默认true,即dialog方法创建就显示对话框 2.buttons:默认无,用于设置显示的按钮,可以是JSON和Array形式: ...