我正在使用SQL Developer,并想使用DBMS_OUTPUT.PUT_LINE()将变量的内容输出到控制台。我正在运行以下代码,将数字1到5(包括5和3)相加,但是没有看到任何输出。
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?]
由于您使用的是SQL Developer,因此有两种选择。
在SQL Developer中,转到View | DBMS Output确保“ DBMS输出”窗口可见。在“ DBMS输出”窗口中,选择“加号”图标,然后选择要向“ DBMS输出”窗口中写入数据的连接。然后,使用向右箭头(在Windows中为Ctrl + Enter)在SQL Worksheet窗口中运行PL / SQL块。您将看到输出出现在“ DBMS输出”窗口中。
View | DBMS Output
或者,您可以将SQL * PlusSET SERVEROUTPUT ON命令和PL / SQL块都放在SQL工作表中,并将其作为脚本运行(在Windows中为F5)。这将在“脚本输出”窗口中的“匿名块已完成”消息下方立即显示输出。
SET SERVEROUTPUT ON
注意:Oracle Sql Developer中的Dbms输出在输出窗口中不显示null。它会移动到新行,但是直到返回除null之外的其他内容,您才会知道所有以前的null都在那里。