0

我已经浏览了一段时间,但我还没有找到一个成功的答案。对于有经验的 SQL 编码器来说应该不会有太大的麻烦:

我有以下带有 IF 条件的 FOR 循环,只要满足 IF 条件,我就想退出循环

<<OUTER_LOOP>>
FOR I IN T_TITLE.FIRST.. T_TABLE.LAST LOOP
  IF T_TABLE(I).VAR_TITLE = PAR_TITLE THEN
    V_TITLE_ID = I;
    --insert exit here
  END IF;
END LOOP;

我不确定是否使用 EXIT;退出外环;或类似 EXIT OUTER_LOOP WHEN V_TITLE_ID IS NOT NULL;

非常感谢您的帮助!

4

1 回答 1

2

只需使用EXIT

FOR I IN T_TITLE.FIRST.. T_TABLE.LAST LOOP
  IF T_TABLE(I).VAR_TITLE = PAR_TITLE THEN
    V_TITLE_ID = I;
    EXIT;
  END IF;
END LOOP;

您不应该EXIT WHEN在这种情况下使用,因为您将无法保存I.

您可以使用EXIT some_loop_label,但在您的情况下没有必要。不过,当您有嵌套循环时,它可能会派上用场。

此处的更多信息:Oracle 中的退出

于 2013-11-08T22:28:41.693 回答