Распечатать текст в окне Oracle SQL Developer SQL Worksheet
-
08-07-2019 - |
Вопрос
Я использую Oracle SQL (в SQLDeveloper, используя SQL Worksheet). Я хотел бы напечатать заявление перед моим выбором, например
PRINT 'Querying Table1';
SELECT * from Table1;
Что я могу использовать для печати / отображения текста? Это не Print, потому что это дает мне ошибку: Переменная Bind Table1
НЕ ОБЪЯВЛЕНА. DBMS_OUTPUT.PUT_LINE - неизвестная команда. (Очевидно, я неопытный пользователь SQLDeveloper и Oracle. Должен быть какой-то синоним для Print, но у меня возникают проблемы с поиском справки, не зная, что это такое.)
Решение
для простых комментариев:
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
Другие советы
PROMPT text to print
Примечание. необходимо использовать Запускать как скрипт (F5) не Выполнить оператор (Ctl + Enter)
Вы можете установить эхо на:
set echo on
REM Querying table
select * from dual;
В SQLDeveloper нажмите F5 для запуска в качестве сценария.
Вы можете поместить свой текст в оператор выбора, например ...
SELECT 'Querying Table1' FROM dual;
Для меня я мог только заставить его работать с
set serveroutput on format word_wrapped;
Обернутые и WRAPPED только что выдавали ошибки: команда SQLPLUS не выполнена - недостаточно аргументов
Если вы не хотите, чтобы все ваши операторы SQL отображались, но вы хотите видеть только легко идентифицируемые результаты вашего скрипта, сделайте это следующим образом:
включить эхо
REM MyFirstTable
отключить эхо
удалить из MyFirstTable;
включить эхо
REM MySecondTable
отключить эхо
удалить из MySecondTable;
Вывод из приведенного выше примера будет выглядеть примерно так:
-REM MyFirstTable
13 строк удалено.
-REM MySecondTable
27 строк удалено.