2010-10-22 5 views
0

Juste une pensée dans mon esprit, mais serait-il pas possible de createa fonction de MySQL qui peut modifier le LIMIT dans une requêteprocédure Mysql pour modifier la limite et le décalage

La clause serait une fonction de calcul simple qui fonctionnerait le décalage en fonction de la pageno * PerPage

Exemple

SELECT * FROM items PAGE(4,20) 

ce serait la même chose que

SELECT * FROM items LIMIT 100,20 

Je n'ai jamais créé de procédures avant de sorte que le inférieures soit mal ..

CREATE PROCEDURE (int pagno, int limit) 
BEGIN 
    ofsset = roundup(pageno * limit) 
END 

Mais dans cette requête définie effectivement la limite et le décalage de la requête?

Répondre

0

vous pouvez faire quelque chose comme ça ofc:

drop procedure if exists foo; 

delimiter # 

create procedure foo 
(
in p_limit int unsigned 
) 
proc_main:begin 

set SQL_SELECT_LIMIT = p_limit; 

select * from <table>... 

set SQL_SELECT_LIMIT = DEFAULT; 

end proc_main # 

delimiter ; 
call foo(64); 
Questions connexes