Как напечатать значение во время выполнения анонимного блока - PullRequest
0 голосов
/ 31 января 2019

Я пробую этот анонимный блок:

SET SERVEROUTOUT ON;
DECLARE
VAR_1:=1;
BEGIN
LOOP
DBMS_OUTPUT.PUT_LINE('Variable'||VAR_1);
VAR_1:=VAR_1+1;
EXIT WHEN VAR_1=10;
END LOOP;
END;
/

Поэтому я хочу, чтобы система печатала мое сообщение, пока оно находится в цикле, а не когда блок заканчивается (потому что печатает все сообщение вконец).

Спасибо.

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019

Мой ответ не имеет ничего общего с DBMS_OUTPUT, но он позволит вам наблюдать за вашим приложением во время его работы.Проверьте DBMS_APPLICATION_INFO.SET_MODULE.У него есть два параметра.Одним из них является module_name, которое можно использовать для размещения «метки» в вашем анонимном блоке.Вторым параметром является action_name, который позволит вам связать строку текста с вашей меткой.В качестве имени действия может быть указано " 'Переменная' || VAR_1 ".Вы можете вызвать SET_MODULE в вашем цикле.Затем в отдельном сеансе вы можете запросить v $ session, который содержит столбцы MODULE и ACTION, которые были установлены с помощью SET_MODULE.

0 голосов
/ 31 января 2019

Добавить тип данных для переменной

SET SERVEROUTOUT ON;
DECLARE
VAR_1 NUMBER :=1;
BEGIN
LOOP
DBMS_OUTPUT.PUT_LINE('Variable'||VAR_1);
VAR_1:=VAR_1+1;
EXIT WHEN VAR_1=10;
END LOOP;
END;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...