我正在使用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?]
答案 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之外的其他内容,否则你不会知道所有以前的空值都存在。