Я хотел напечатать значение конкретной переменной, которая находится внутри анонимного блока. Я использую Oracle SQL Developer. Я пробовал использовать dbms_output.put_line
. Но это не работает. Код, который я использую, показан ниже.
SET SERVEROUTPUT ON
DECLARE
CTABLE USER_OBJECTS.OBJECT_NAME%TYPE;
CCOLUMN ALL_TAB_COLS.COLUMN_NAME%TYPE;
V_ALL_COLS VARCHAR2(500);
CURSOR CURSOR_TABLE
IS
SELECT OBJECT_NAME
FROM USER_OBJECTS
WHERE OBJECT_TYPE='TABLE'
AND OBJECT_NAME LIKE 'tb_prm_%';
CURSOR CURSOR_COLUMNS (V_TABLE_NAME IN VARCHAR2)
IS
SELECT COLUMN_NAME
FROM ALL_TAB_COLS
WHERE TABLE_NAME = V_TABLE_NAME;
BEGIN
OPEN CURSOR_TABLE;
LOOP
FETCH CURSOR_TABLE INTO CTABLE;
EXIT WHEN CURSOR_TABLE%NOTFOUND;
OPEN CURSOR_COLUMNS (CTABLE);
V_ALL_COLS := NULL;
LOOP
FETCH CURSOR_COLUMNS INTO CCOLUMN;
V_ALL_COLS := V_ALL_COLS || CCOLUMN;
IF CURSOR_COLUMNS%FOUND THEN
V_ALL_COLS := V_ALL_COLS || ', ';
ELSE
EXIT;
END IF;
END LOOP;
DBMS_OUTPUT.PUT_LINE(V_ALL_COLS);
END LOOP;
CLOSE CURSOR_TABLE;
END;
И я получаю вывод только как anonymous block completed
.
oracle
plsql
oracle-sqldeveloper
988875
источник
источник
Ответы:
Вам нужно включить dbms_output. В Oracle SQL Developer:
В SQL * Plus:
источник
Кажется, что SQL Developer выводит текст DBMS_OUTPUT только тогда, когда вы явно включили оконную панель DBMS_OUTPUT.
Перейдите в (Меню) ВИД -> Dbms_output, чтобы вызвать панель.
Щелкните значок «Зеленый плюс», чтобы включить вывод для вашего соединения, а затем запустите код.
РЕДАКТИРОВАТЬ: не забудьте установить размер буфера в соответствии с ожидаемым объемом вывода.
источник
Сделайте вывод на сервер в первую очередь
SET SERVEROUTPUT on
затемПерейдите в окно вывода СУБД (Вид-> Вывод СУБД)
затем нажмите Ctrl+ Nдля подключения к серверу
источник
Есть 2 варианта:
или
Откройте меню «Просмотр» и нажмите «Вывод dbms». У вас должно появиться окно вывода dbms в нижней части рабочего листа. Затем вам нужно добавить соединение (по какой-то причине это не делается автоматически).
источник
1) Перейдите в меню просмотра.
2) Выберите пункт меню DBMS_OUTPUT.
3) Нажмите Ctrl+ Nи выберите редактор соединений.
4) Выполните команду SET SERVEROUTPUT ON.
5) Затем выполните сценарий PL / SQL.
источник
Я добавил закрытие второго курсора. Он работает и тоже выводит ...
источник
в меню выберите View -> DBMS Output и
источник
Перейдите в окно вывода СУБД (Вид-> Вывод СУБД).
источник