Отображение прогресса выполнения в PL/SQL-программах

Опубликовано: 19 Октябрь 2024
на канале: Oracle Database Developer
2,922
187

Отображение прогресса выполнения в PL/SQL-программах, скриптах.
Для тяжелых процессов это очень полезно, понимать сколько уже выполнено сколько осталось, на каком этапе находится программа.
Также этот подход может пригодится при выполнении скриптов.
Для этого используется системный пакет в Oracle dbms_application_info и процедура set_session_longops.

Репозиторий к уроку - https://github.com/kivilev/oracle_dbd...

Запрос для получения "прогресс-бара":
select round((sofar/totalwork)*100,2)||'%' progress, t.sofar, t.totalwork, t.opname, t.start_time, t.time_remaining, t.last_update_time, t.message
from v$session_longops t
order by t.last_update_time desc;

Содержание:
0:00 - Введение
0:41 - Теория, dbms_application_info
1:22 - Принцип использования dbms_application_info
1:45 - Пример 1
2:19 - Пример 2
3:04 - Пример 3
3:47 - Как настроить PL/SQL Developer и TOAD
4:34 - Заключение

-------
Подписывайтесь на мой телеграм-канал: https://t.me/oracle_dbd

Все о разработке в СУБД "Oracle". Теория, практика, SQL, PL/SQL, задачки, сертификация и многое другое.

Если вам нужны консультации, есть вопросы, хотите пройти обучение, то пишите в телеграм - https://t.me/denis_dbd