WHILE 和 FOR 语句中的 SELECT 语句

如果在 WHILE 或 FOR 循环中使用 SELECT 语句,并且需要用括号把它括起来,那么应该把整个 SELECT 语句括在 BEGIN…END 语句块中。在下面的例子中,第一个 WHILE 语句中的 SELECT 语句被解释为调用过程 var1;对第二个 WHILE 语句的解释是正确的:
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;