为什么我看不到此PL/SQL块的输出?

and*_*and 4 sql oracle stored-procedures

我想要一个代码示例.

我试试这个:

DECLARE
     var NUMBER;
 BEGIN
     /*N.B. for loop variables in pl/sql are new declarations, with scope only inside the loop */ 
     FOR var IN 0 .. 10 LOOP 
          DBMS_OUTPUT.put_line(var);
     END LOOP;

     IF (var IS NULL) THEN
          DBMS_OUTPUT.put_line('var is null');
     ELSE
          DBMS_OUTPUT.put_line('var is not null');
     END IF;
 END;
Run Code Online (Sandbox Code Playgroud)

没有输出(虽然我知道这不是一个无限循环).为什么这个不打印?

编辑:通过数据库管理器界面修复了非打印代码.

Jus*_*ave 12

没有EXIT语句的LOOP是在PL/SQL中生成无限循环的一种方法

BEGIN
  LOOP
    null;
  END LOOP;
END;
Run Code Online (Sandbox Code Playgroud)

你也可以写一个永无止境的WHILE循环

BEGIN
  WHILE( true )
  LOOP
    NULL;
  END LOOP;
END;
Run Code Online (Sandbox Code Playgroud)


Jay*_*y S 5

如果您的问题是没有输出,那么您可能还没有启用DBMS OUTPUT.你可以这样做:

set serveroutput on
Run Code Online (Sandbox Code Playgroud)