Als je soms met stored procedures in MySQL werkt dan heb je waarschijnlijk het limit probleem al eens tegen het lijf gelopen.
Om de één of andere reden kan MySQL er niet tegen dat je een parameter meegeeft aan limit. De volgende stored procedures zal dan ook een error geven.
0 1 2 3 4 5 | BEGIN PREPARE STMT FROM "SELECT * FROM Members LIMIT ?"; EXECUTE STMT USING in_limit END |
Het is echter wel mogelijk om een user variable mee te geven aan een limit. Wat je dus gaat doen is een user variable aanmaken met als waarde de input variable. Vervolgens geef je de user variable mee aan de limit.
Een user variable maak je aan als volgt. De naam van de input variable is in dit voorbeeld in_limit.
0 | SET @in_limit = in_limit; |
De werkende stored procedure ziet er dus als volgt uit.
0 1 2 3 4 5 6 | BEGIN SET @in_limit = in_limit; PREPARE STMT FROM "SELECT * FROM Members LIMIT ?"; EXECUTE STMT USING @in_limit END |