前段时间没有给出SQLServer转到Mysql的通用存储过程,本着共享的精神,为大家奉献这段Mysql分页查询通用存储过程,假设所用数据库为guestbook: use guestbook; mysql -u root -p < pageResult.sql; 调用:call prc_page_result(1, “*”, “Tablename”, “”, “columnname”, 1, “PKID”, 25); http://blog.csdn.net/fcrpg2005/archive/2007/03/07/1522713.aspx
delimiter $$
drop procedure if exists prc_page_result $$
create procedure prc_page_result (
in currpage int,
in columns varchar(500),
in tablename varchar(500),
in sCondition varchar(500),
in order_field varchar(100),
in asc_field int,
in primary_field varchar(100),
in pagesize int
)
begin
declare sTemp varchar(1000);
declare sSql varchar(4000);
declare sOrder varchar(1000);
if asc_field = 1 then
set sOrder = concat( order by , order_field, desc );
set sTemp = <(select min;
else
set sOrder = concat( order by , order_field, asc );
set sTemp = >(select max;
end if;
if currpage = 1 then
if sCondition <> then
set sSql = concat(select , columns, from , tablename, where );
set sSql = concat(sSql, sCondition, sOrder, limit ?);
else
set sSql = concat(select , columns, from , tablename, sOrder, limit ?);
end if;
else
if sCondition <> then
set sSql = concat(select , columns, from , tablename);
set sSql = concat(sSql, where , sCondition, and , primary_field, sTemp);
set sSql = concat(sSql, (, primary_field, ), from (select );
set sSql = concat(sSql, , primary_field, from , tablename, sOrder);
set sSql = concat(sSql, limit , (currpage-1)*pagesize, ) as tabtemp), sOrder);
set sSql = concat(sSql, limit ?);
else
set sSql = concat(select , columns, from , tablename);
set sSql = concat(sSql, where , primary_field, sTemp);
set sSql = concat(sSql, (, primary_field, ), from (select );
set sSql = concat(sSql, , primary_field, from , tablename, sOrder);
set sSql = concat(sSql, limit , (currpage-1)*pagesize, ) as tabtemp), sOrder);
set sSql = concat(sSql, limit ?);
end if;
end if;
set @iPageSize = pagesize;
set @sQuery = sSql;
prepare stmt from @sQuery;
execute stmt using @iPageSize;
end;
$$
delimiter;
可以存储为数据库脚本,然后用命令导入:
mysql分页查询通用存储过程_数据库技巧
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » mysql分页查询通用存储过程_数据库技巧
相关推荐
-      sql语句中的判断功能的使用方法
-      sql语句中的判断功能的使用方法
-      SQL语言中去掉小数点有效数字后面的所有0
-      ASP连接各种数据库的代码
-      在sql语句中实现md5功能
-      给access数据库减肥
-      asp连接access数据库代码(2)
-      更改 SQL Server 登录模式