admin

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

sql

我正在使用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?]


阅读 285

收藏
2021-05-10

共1个答案

admin

由于您使用的是SQL Developer,因此有两种选择。

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

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

注意:Oracle Sql
Developer中的Dbms输出在输出窗口中不显示null。它会移动到新行,但是直到返回除null之外的其他内容,您才会知道所有以前的null都在那里。

2021-05-10