MySQL: passing limits as stored procedure parameters

Unfortunately MySQL 5 (at least 5.0.15) does not allow using variables or procedure parameters with LIMIT.

Here is a workaround where SQL statement is generated inside stored procedure:

CREATE PROCEDURE GetList (limitStart int, limitCount int)
BEGIN
 
SET @sql = CONCAT('SELECT ID, Name FROM `User`
LIMIT ', limitStart, ', ', limitCount);
 
PREPARE query FROM @sql;
EXECURE query;
DEALLOCATE PREPARE query;
 
END;

Post to Twitter Tweet This

No Comment

No comments yet

Leave a reply