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

时间:2012-04-14 01:10:28

标签: 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;

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

1 个答案:

答案 0 :(得分:46)

由于您使用的是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 Worksheet中,并将其作为脚本运行(Windows中为F5)。这将在“脚本输出”窗口中的“匿名块已完成”消息的正下方显示输出。

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