powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос чайника про dbms_output.put_line
4 сообщений из 4, страница 1 из 1
Вопрос чайника про dbms_output.put_line
    #32087824
Katya2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запускаю долгий расчет . Хотелось бы видеть что происходит.
Пытаюсь с dbms_output.put_line(rec.no). Пока процедура не закончилась
ничего не вижу . Есть ли возможность что то вывевть на экран в процессе
работы процедуры?
...
Рейтинг: 0 / 0
Вопрос чайника про dbms_output.put_line
    #32087847
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С dbms_output.put_line -- нельзя. Это описанная в документации "фича", что SQL*plus, да и все остальные, получают доступ к строкам из этого буфера только по окончании процедуры.

Альтернативы:
utl_file -- правда это больше для логов...

статусная таблица (поле с постоянно растущим счётчиком) -- правда здесь нужно, чтобы процедура время от времени делала commit...

alert и pipes -- тут уже простор для самодеятельности, правда один из них был тоже "commit aware"...
...
Рейтинг: 0 / 0
Вопрос чайника про dbms_output.put_line
    #32087906
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно еще добавить процедуру с pragma autonomous_transaction, записывающую то, что происходит, в отдельную таблицу. А с пайпами не забывай вытаскивать данные, а то можно получить блокировку при попытке послать в него очередное сообщение.
...
Рейтинг: 0 / 0
Вопрос чайника про dbms_output.put_line
    #32087944
ksukhonosenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Комментарий к предыдущему ответу.

Столкнулся с той же проблемой - решение состоит (может есть варианты и еще - не знаю) в автономной транзакции + не надо забывать обязательный COMMIT или ROLLBACK.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
PROCEDURE trace(msg IN VARCHAR) 
IS
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
 -------
 

 /*

Пишем в таблицу

А здесь ОБЯЗАТЕЛЬНО должны идти или COMMIT or ROLLBACK - иначе Оракл ругнеться.

*/ 
 -------
 
END;
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос чайника про dbms_output.put_line
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]