Mysql儲存過程 處理分頁

2021-06-01 23:39:45 字數 1122 閱讀 9956

mysql儲存過程---------處理分頁

分頁功能在任何應用中都比較常見,而 mysql 的儲存過程分頁必須通過動態 sql 來執行。分頁對應的 offset 和 row_count 必須先用 concat 函式變成字串組裝到 sql 中(如語句 1 ),而不能直接使用(如語句 2 , mysql 不支援)。 mysql 分頁功能的實現如下**所示: 

create procedure test_proc_multi_select(in i_pageindex int, in i_pagesize int)  

begin  

declare stmt varchar(2000);  

set @sql = concat('select * from testproc limit ',(i_pageindex-1) * i_pagesize,' , ',i_pagesize); -- 語句1組裝

sql  

prepare stmt from @sql; -- 得到

prepare stmt  

execute stmt; -- 執行

select  

-- 以下方式編譯不能通過! 

-- select * from testproc limit (i_pageindex-1)*i_pagesize,i_pagesize; -- 語句

2   end  

以下**提供了帶 where 條件的分頁: 

create procedure test_proc_param_select(in i_name varchar(100),in i_pageindex int, in i_pagesize int)  

begin  

declare stmt varchar(2000);  

set @sql = concat('select * from testproc where name like ''%',i_name,'%'' limit ',(i_pageindex-1) * i_pagesize,',',i_pagesize); --注意

like

後兩個單引號表示乙個。

prepare stmt from @sql;  

execute stmt;  

end;  

Mysql儲存過程(三) 處理分頁

分頁功能在任何應用中都比較常見,而 mysql 的儲存過程分頁必須通過動態 sql 來執行。分頁對應的 offset 和 row count 必須先用 concat 函式變成字串組裝到 sql 中 如語句 1 而不能直接使用 如語句 2 mysql 不支援 mysql 分頁功能的實現如下 所示 sq...

Mysql儲存過程(三) 處理分頁

分頁功能在任何應用中都比較常見,而 mysql 的儲存過程分頁必須通過動態 sql 來執行。分頁對應的 offset 和 row count 必須先用 concat 函式變成字串組裝到 sql 中 如語句 1 而不能直接使用 如語句 2 mysql 不支援 mysql 分頁功能的實現如下 所示 cr...

分頁儲存過程 分頁儲存過程

分頁儲存過程 alter proc dbo p pageshow pagesize int,每頁大小 currentpage int out,當前頁 housename nvarchar 50 房產名稱 totalcount int out,總記錄數 totalpage int out 總頁數 as...