À l'aide de variable dans la clause LIMIT de MySQL

Je suis en train d'écrire une procédure stockée où j'ai un paramètre d'entrée appelé my_size qui est un ENTIER. Je veux être capable de l'utiliser dans un LIMIT clause dans un SELECT déclaration. Apparemment ce n'est pas pris en charge, est-il un moyen de contourner cela?

# I want something like:
SELECT * FROM some_table LIMIT my_size;

# Instead of hardcoding a permanent limit:
SELECT * FROM some_table LIMIT 100;
  • Si vous avez plus de contrôle de la version de MySQL que vous utilisez, il ressemble à ce qui est fixé de départ en v5.5.6. bugs.mysql.com/bug.php?id=11918
  • trouvé une autre solution simple stackoverflow.com/a/4315661
  • Notez que MySQL 5.7.16 (et peut-être d'autres) le LIMIT @nrows OFFSET @noffset stockées routine semble être rejeté trop, tandis qu'un LIMIT nrows OFFSET noffset est acceptée, tant que vous DECLARE nrows INT; DECLARE noffset INT à la routine du début.
InformationsquelleAutor MPX | 2008-10-28