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

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

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

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

Столкнулся с той же проблемой - решение состоит (может есть варианты и еще - не знаю) в автономной транзакции + не надо забывать обязательный 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
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос чайника про dbms_output.put_line / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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