MySQL-ækvivalenten ville være sådan her:
BEGIN
DECLARE CurrentFirstName VARCHAR(300);
DECLARE CurrentAge INT;
DECLARE done INT DEFAULT FALSE;
DECLARE CursorName CURSOR FOR
SELECT FirstName, Age FROM Customers;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN CursorName;
myloop: LOOP
FETCH CursorName INTO CurrentFirstName, CurrentAge;
IF done THEN
LEAVE myloop;
END IF;
IF CurrentAge > 60 THEN
insert into ElderCustomers values (CurrentFirstName,CurrentAge);
END IF;
END LOOP;
CLOSE CursorName;
END;
Den store forskel er i løkken, ved at bruge CONTINUE HANDLER til at sætte et flag, når der ikke er flere rækker at hente, og at forlade løkken, når flaget er sat. (Det ser grimt ud, men det er sådan det gøres i MySQL.)
Dette eksempel rejser spørgsmålet, hvorfor dette ikke er skrevet (mere effektivt, i både SQL Server og MySQL) som:
INSERT INTO ElderCustomers (FirstName, Age)
SELECT FirstName, Age
FROM Customers
WHERE Age > 60