В оракле есть замечательная конструкция FOR… IN… LOOP позволяющая обработать в цикле всю выборку по запросу.
Например:
FOR rec IN (SELECT t.id, t.doc_type, t.guid, t.CAPTION FROM test_table t)
LOOP
IF rec.id > 10 THEN Dbms_Output.put_line(rec.id||' '||rec.CAPTION); END IF;
END LOOP;
Не могу найти, есть ли аналог такой структуры в MySQL?
UPD.
BEGIN
DECLARE cur CURSOR FOR SELECT id, doc_type, guid, CAPTION FROM test_table t;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
Open cur;
WHILE not done DO
// cur - текущая запись
END WHILE;
Close cur;
END;