基本问题:基本的PL/SQL控制台输出?

25 sql oracle plsql oracle-sqldeveloper dbms-output

我正在使用SQL Developer,并希望使用DBMS_OUTPUT.PUT_LINE()将变量的内容输出到控制台.我正在运行以下代码,添加数字1到5,但我没有看到任何输出.

SET SERVEROUTPUT ON;
DECLARE 
n_counter NUMBER := 5; -- Substitute this variable
n_sum     NUMBER := 0;
BEGIN
  WHILE n_counter != 0
  LOOP
    n_sum := n_sum + n_counter;
    n_counter := n_counter -1;
  END LOOP;
  DBMS_OUTPUT.PUT_LINE(n_sum);
END;
Run Code Online (Sandbox Code Playgroud)

此外,您是否知道比非常密集的Oracle PL/SQL文档更好的解决问题资源?[类似于Java SE7 API?]

Jus*_*ave 47

由于您使用的是SQL Developer,因此您有几个选择.

在SQL Developer中,转到View | DBMS Output确保DBMS输出窗口可见.在DBMS Output窗口中,选择"加号"图标,然后选择要将数据写入DBMS输出窗口的连接.然后使用向右箭头(在Windows中按Ctrl + Enter)在SQL Worksheet窗口中运行PL/SQL块.您将看到输出显示在DBMS输出窗口中.

或者,您可以将SQL*Plus SET SERVEROUTPUT ON命令和PL/SQL块都放在SQL工作表中,并将其作为脚本运行(Windows中为F5).这将在"脚本输出"窗口中的"匿名块已完成"消息的正下方显示输出.

注意:Oracle Sql Developer中的Dbms输出在输出窗口中不显示null.它移动到一个新行,但直到它将返回除null之外的其他内容,您将不知道所有以前的空值都存在.