Подтвердить что ты не робот

Рудиментарная проблема: базовый вывод консоли PL/SQL?

Я использую 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?]

4b9b3361

Ответ 1

Поскольку вы используете SQL Developer, у вас есть несколько вариантов.

В SQL Developer перейдите к View | DBMS Output, чтобы убедиться, что окно вывода СУБД виден. В окне вывода СУБД выберите значок "плюс" и выберите соединение, которое вы хотите записать, в окно вывода СУБД. Затем запустите блок PL/SQL в окне SQL Worksheet, используя стрелку вправо (Ctrl + Enter в Windows). Вы увидите вывод в окне вывода СУБД.

В качестве альтернативы вы можете добавить команду SQL * Plus SET SERVEROUTPUT ON и блок PL/SQL в рабочий лист SQL и запустить его как script (F5 в Windows). Это отобразит вывод сразу после сообщения "анонимный блок завершен" в окне вывода script.