mysql的分页存储过程和注释

create procedure pr_pager(
    in p_table_name varchar(100), /*表名*/
   in p_fields varchar(100),      /*查询字段*/

     in p_page_size int,       /*每页记录数*/
    in p_page_now int,            /*当前页*/

   in p_order_string varchar(100),   /*排序条件,包含order关键字,可为空*/
 in p_where_string varchar(100),       /*where条件,包含where关键字,可为空*/
 out p_out_rows  int )                  /*输出记录总数*/
 not  deterministic
 sql security definer
 comment '分页存储过程'
 begin
 /***定义变量*/
 declare m_begin_row int default 0;
 declare m_limit_string char(64);
  /***构造语句***/
  set m_begin_row =(p_page_now-1)*p_page_size;
  set m_limit_string =concat('limit',m_begin_row, ',',p_page_size);

  set @count_string =concat('select count(*) into @rows_total from'
  , p_table_name, '', p_where_string);
  set @main_string =concat('select', p_fields, 'from',p_table_name,
  '',p_where_string ,'',p_order_string, m_limit_string);
   /***预处理*/
   prepare count_stmt from @count_string;
   execute count_stmt;
   deallocate prepare count_stmt;
   set p_out_rows =@rows_total;
   prepare main_stmt from @main_string;
    execute main_stmt;
    deallocate prepare main_stmt;
    end;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值