SELECT Statements in WHILE and FOR Statements
If you use a SELECT statement in a WHILE or FOR loop, and if you need to
enclose it in parentheses, enclose the entire SELECT statement in a BEGIN…END
statement block. The SELECT statement in the first WHILE statement in the
following example is interpreted as a call to the procedure var1; the second WHILE statement is interpreted correctly:
DEFINE var1, var2 INT;
WHILE var2 = var1
SELECT col1 INTO var3 FROM TAB -- error, interpreted as call var1()
UNION
SELECT co2 FROM tab2;
END WHILE;
WHILE var2 = var1
BEGIN
SELECT col1 INTO var3 FROM TAB -- ok syntax
UNION
SELECT co2 FROM tab2;
END
END WHILE;