Распечатать текст в окне Oracle SQL Developer SQL Worksheet

65

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

PRINT 'Querying Table1';
SELECT * from Table1;

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

Теги:
printing
oracle-sqldeveloper

6 ответов

109
Лучший ответ

Изображение 7150

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

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
  • 1
    Первая строка устанавливает выход сервера в формате с переносом; должен быть установлен выход сервера в формате WRAPPED;
  • 0
    Спасибо @geographika
Показать ещё 4 комментария
32
PROMPT text to print

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

  • 1
    Это так полезно. Спасибо!
17

Вы можете установить echo на:

set echo on
REM Querying table
select * from dual;

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

  • 0
    Я принял это как ответ, но я вижу, что другой ответ имеет гораздо больше очков, поэтому я изменил свое согласие на это. Тем не менее, это сработало для меня, и это хороший ответ.
12

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

SELECT 'Querying Table1' FROM dual;
6

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

set serveroutput on format word_wrapped;

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

  • 1
    Раздражение прошло! +1
1

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

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

REM MyFirstTable

установить эхо-сигнал

удалить из MyFirstTable;

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

REM MySecondTable

установить эхо-сигнал

удалить из MySecondTable;

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

-REM MyFirstTable

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

-REM MySecondTable

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню