Большинство PL/SQL программ выполняют ввод и вывод через SQL-операторы, чтобы сохранять данные в таблицех базы данных или запрашивать таблицы.
Весь другой ввод/вывод PL/SQL делается через API, которые взаимодействуют с другими программами. Например, у пакета DBMS_OUTPUT
есть процедуры такие как PUT_LINE
. Чтобы увидеть результат за пределами PL/SQL, Вам требуется другая программа, такая как SQL*Plus, чтобы читать и выводить на экран данные, передаваемые DBMS_OUTPUT
.
-
Используйте команду SET SERVEROUT[PUT], чтобы управлять тем, отображать ли на экране вывод хранимых процедур или блоков PL/SQL в SQL*Plus.
-
Ограничение длины строки
DBMS_OUTPUT
увеличено с 255 байтов до 32767 байтов. -
Размер по умолчанию теперь неограничен.
-
Ресурсы не выделяются предварительно, когда устанавливается
SERVEROUTPUT
. -
Поскольку нет никакой потери производительности, используйте
UNLIMITED
, если Вы не хотите сохранить физическую память.
SQL*Plus не выводит на экран данные DBMS_OUTPUT
данные, если Вы сначала не выполняете команду SQL*Plus SET SERVEROUTPUT ON
следующим образом:
Замечание
-
SIZE
устанавливает число байтов вывода, которые могут быть буферизованы внутри сервера БД Oracle. Значение по умолчаниюUNLIMITED
. n не может быть меньше чем 2000 или больше чем 1 000 000. -
Для дополнительной информации о
SERVEROUTPUT
, см. DB Oracle PL/SQL User’s Guide and Reference 11g.
Далее: Функция GROUPING