create procedure proc_getattroption
(
in page_now int,-- 当前页数
in page_size int,-- 每页显示的条数
in type_id int -- 属性类型ID
)
begin
declare m_begin_row int default 0;-- 查询的开始位置
declare m_where_string varchar(200);-- where条件语句
declare m_order_string varchar(200); -- order排序语句
declare m_limit_string varchar(200); -- limit语句 set m_where_string=concat( ' where id like ',type_id,'___' );
set m_order_string=' order by id,description ';
set m_begin_row = (page_now-1) * page_size;
  set m_limit_string = concat(' limit ', m_begin_row, ', ', page_size,';' );
set @main_str = concat( 'select id,description from systemdata ',m_where_string,m_order_string, m_limit_string );
prepare main_stmt from @main_str;
execute main_stmt;
deallocate prepare main_stm;

end;
为撒调用后得不到数据了,直接写成sql可以返回数据,但是limit中的值是变量,(必须动态调用吧?)。