Распечатать текст в окне Oracle SQL Developer SQL Worksheet - PullRequest
79 голосов
/ 11 октября 2008

Я использую Oracle SQL (в SQLDeveloper, используя SQL Worksheet). Я хотел бы распечатать заявление перед моим выбором, например

PRINT 'Querying Table1';
SELECT * from Table1;

Что я могу использовать для печати / отображения текста? Это не Print, потому что это дает мне ошибку: Переменная Bind Table1 НЕ ОБЪЯВЛЕНА. DBMS_OUTPUT.PUT_LINE - неизвестная команда. (Очевидно, я неопытный пользователь SQLDeveloper и Oracle. Должен быть какой-то синоним для Print, но у меня возникают проблемы с поиском справки, не зная, что это такое.)

Ответы [ 7 ]

131 голосов
/ 11 декабря 2008

enter image description here

для простых комментариев:

set serveroutput on format wrapped;
begin
    DBMS_OUTPUT.put_line('simple comment');
end;
/

-- do something

begin
    DBMS_OUTPUT.put_line('second simple comment');
end;
/

вы должны получить:

anonymous block completed
simple comment

anonymous block completed
second simple comment

если вы хотите распечатать результаты переменных, вот еще один пример:

set serveroutput on format wrapped;
declare
a_comment VARCHAR2(200) :='first comment';
begin
    DBMS_OUTPUT.put_line(a_comment);
end;

/

-- do something


declare
a_comment VARCHAR2(200) :='comment';
begin
    DBMS_OUTPUT.put_line(a_comment || 2);
end;

Ваш вывод должен быть:

anonymous block completed
first comment

anonymous block completed
comment2
36 голосов
/ 03 ноября 2010
PROMPT text to print

Примечание: необходимо использовать Запускать как скрипт (F5) не Выполнить оператор (Ctl + Enter)

20 голосов
/ 11 октября 2008

Вы можете включить эхо на:

set echo on
REM Querying table
select * from dual;

В SQLDeveloper нажмите F5 для запуска в качестве скрипта.

12 голосов
/ 12 октября 2008

Вы можете поместить свой текст в оператор выбора, например ...

SELECT 'Querying Table1' FROM dual;
7 голосов
/ 02 марта 2011

Для меня, я мог только заставить его работать с

set serveroutput on format word_wrapped;

Wraped и WRAPPED только что выдавали ошибки: сбой команды SQLPLUS - недостаточно аргументов

2 голосов
/ 15 февраля 2019

В основном ответе пропущен шаг для новых установок, когда нужно открыть окно вывода dbms.

enter image description here

Тогда скрипт, который я использовал:

dbms_output.put_line('Start');

Другой скрипт:

set serveroutput on format wrapped;
begin
    DBMS_OUTPUT.put_line('jabberwocky');
end;
1 голос
/ 09 декабря 2014

Если вы не хотите, чтобы все ваши операторы SQL отображались, но вы хотите видеть только легко идентифицируемые результаты вашего скрипта, сделайте это следующим образом:

установить эхо на

REM MyFirstTable

отключить эхо

удалить из MyFirstTable;

установить эхо на

REM MySecondTable

отключить эхо

удалить из MySecondTable;

Вывод из приведенного выше примера будет выглядеть примерно так:

-REM MyFirstTable

13 строк удалено.

-REM MySecondTable

27 строк удалено.

...