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