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;