mysql存储过程分页:mysql的分页存储过程,能够传出总记录数来源: 发布时间:星期四, 2009年2月12日 浏览:218次 评论:0
最近用mysql + asp.net来写网站WebSite ![]() ![]() ![]() ![]() 不过在网上找了 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() CREATE PROCEDURE p_pageList ( m_pageNo ![]() m_perPageCnt ![]() m_column varchar(1000) , m_table varchar(1000) , m_condition varchar(1000), m_orderBy varchar(200) , out m_totalPageCnt ![]() ) BEGIN SET @pageCnt = 1; -- 总记录数 SET @limitStart = (m_pageNo - 1)*m_perPageCnt; SET @limitEnd = m_perPageCnt; SET @sqlCnt = CONCAT('select count(1) ![]() ![]() SET @sql = CONCAT('select ',m_column,' from ',m_table); IF m_condition IS NOT NULL AND m_condition <> '' THEN SET @sql = CONCAT(@sql,' where ',m_condition); SET @sqlCnt = CONCAT(@sqlCnt,' where ',m_condition); END IF; IF m_orderBy IS NOT NULL AND m_orderBy <> '' THEN SET @sql = CONCAT(@sql,' order by ',m_orderBy); END IF; SET @sql = CONCAT(@sql, ' limit ', @limitStart, ',', @limitEnd); PREPARE s_cnt from @sqlCnt; EXECUTE s_cnt; DEALLOCATE PREPARE s_cnt; SET m_totalPageCnt = @pageCnt; PREPARE record from @sql; EXECUTE record; DEALLOCATE PREPARE record; END 1
相关文章
读者评论
发表评论 |
|