「PL/SQL」GOTO文のサンプル

2021年8月25日

説明
GOTO文は、ラベルの付いたブロックまたは文に制御を移します。
GOTO文によってカーソルFOR LOOP文が途中で終了されると、カーソルはクローズされます。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
DECLARE
  res VARCHAR2(40);
n PLS_INTEGER := 37;
BEGIN
FOR i in 2..ROUND(SQRT(n)) LOOP
IF n MOD i = 0 THEN
res := ' は素数ではないです';
GOTO print_now;
END IF;
END LOOP;
res := ' は素数です';
<<print_now>>
DBMS_OUTPUT.PUT_LINE(TO_CHAR(n) || res);
END;
DECLARE   res VARCHAR2(40); n PLS_INTEGER := 37; BEGIN FOR i in 2..ROUND(SQRT(n)) LOOP IF n MOD i = 0 THEN res := ' は素数ではないです'; GOTO print_now; END IF; END LOOP; res := ' は素数です'; <<print_now>> DBMS_OUTPUT.PUT_LINE(TO_CHAR(n) || res); END;
DECLARE
  res  VARCHAR2(40);
   n  PLS_INTEGER := 37;
BEGIN
  FOR i in 2..ROUND(SQRT(n)) LOOP
    IF n MOD i = 0 THEN
      res := ' は素数ではないです';
      GOTO print_now;
    END IF;
  END LOOP;

  res := ' は素数です';
 
  <<print_now>>
  DBMS_OUTPUT.PUT_LINE(TO_CHAR(n) || res);
END;

結果:
37 は素数です

Oracle

Posted by arkgame