Thanks for your comments.
I got this SP from my friend, there is a new field that is number.
Code:
BEGIN
SET @ctt = 0;
SET @amount = 0;
SET @orders = orders;
SET @number = 0;
SET @idxx = idx;
WHILE @orders > 0 DO
SET @query= CONCAT('SELECT `amount_id`,`counter` FROM mytable WHERE `id` = ? ORDER BY DATE ASC LIMIT ?,1 INTO @amount,@number');
PREPARE stmt1 FROM @query;
EXECUTE stmt1 USING @idxx, @ctt;
DEALLOCATE PREPARE stmt1;
SET @temp = @orders - @amount;
IF (@temp >= 0) THEN
SET @itung = 0;
SET @orders = @orders - @amount;
ELSE
SET @itung = @amount - @orders;
SET @orders = 0;
END IF;
SET @query= 'UPDATE mytable SET `amount_id` = ? WHERE `counter` = ?';
PREPARE stmt1 FROM @query;
EXECUTE stmt1 USING @itung, @number;
DEALLOCATE PREPARE stmt1;
SET @ctt = @ctt + 1;
END WHILE;
END
parameters : orders INTEGER,idx INTEGER
What do you think?