powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Пауза в PL\SQL, как?
19 сообщений из 69, страница 3 из 3
Пауза в PL\SQL, как?
    #38745314
AG#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Пауза в PL\SQL, как?
    #38745373
yens_gjytk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
procedure pSleep (pMillis in number)
as language java
name 'java.lang.Thread.sleep(long)';
...
Рейтинг: 0 / 0
Пауза в PL\SQL, как?
    #38745429
AG#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yens_gjytk
Код: plsql
1.
2.
3.
procedure pSleep (pMillis in number)
as language java
name 'java.lang.Thread.sleep(long)';



Норм с явой...тока пропатчить нужно чтоб утечки памяти не было...а так норм :)
...
Рейтинг: 0 / 0
Пауза в PL\SQL, как?
    #38745434
AG#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вариант с джавой кста мне по душе )))
...
Рейтинг: 0 / 0
Пауза в PL\SQL, как?
    #38745644
kaldorey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AG#,

А когда я это написал, никто не отреагировал (((
...
Рейтинг: 0 / 0
Пауза в PL\SQL, как?
    #38745755
AG#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaldoreyAG#,

А когда я это написал, никто не отреагировал (((

Отличный вариант !!!!
...
Рейтинг: 0 / 0
Пауза в PL\SQL, как?
    #38749317
Nobody1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ORA__SQLandreymxпауза на 4 секунды

Класс. Только CPU used by this session зашкаливает

ну это уже проблема админов, не дающих прав на dbms_lock )))
...
Рейтинг: 0 / 0
Пауза в PL\SQL, как?
    #38749753
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AG#правда с апексом есть нюанс...он должен быть запущен постоянно.А если свалится ? Все-таки это можно так сказать отдельный процесс от СУБД
APEX_UTIL.pause -- это просто обёртка вокруг SYS.DBMS_LOCK.SLEEP. В силу особенностей архитектуры -- с публичными правами на EXECUTE.

Про отдельный процесс -- спасибо, повеселило.
...
Рейтинг: 0 / 0
Пауза в PL\SQL, как?
    #38753168
AG#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suPPLerAG#правда с апексом есть нюанс...он должен быть запущен постоянно.А если свалится ? Все-таки это можно так сказать отдельный процесс от СУБД
APEX_UTIL.pause -- это просто обёртка вокруг SYS.DBMS_LOCK.SLEEP. В силу особенностей архитектуры -- с публичными правами на EXECUTE.

Про отдельный процесс -- спасибо, повеселило.


не буду расписывать подробностей (сами додумкайте ;) )....собсно вы и ответили на вопрос - это просто обёртка вокруг
...
Рейтинг: 0 / 0
Пауза в PL\SQL, как?
    #38753169
AG#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про либы не забкдьте...по аналогии почему ASM стартует а нифига не монтируется из-за подлого либа asmlibs ))))
...
Рейтинг: 0 / 0
Пауза в PL\SQL, как?
    #38753812
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AG#про либы не забкдьте...
Какие "либы"? APEX_UTIL -- это синоним для PL/SQL-пакета HTMLDB_UTIL, процедура PAUSE которого вызывает SYS.DBMS_LOCK.SLEEP. Не работает последний -- не работает и первый. Всё, точка.

AG#не буду расписывать подробностей (сами додумкайте ;) )
Извините, коллега, мне лень фантазировать о загадочных "процессах" и додумывать "либы", которые помешают вызвать процедуру пакета. Проще знать, как APEX на самом деле работает и из чего состоит. Но я с удовольствием почитаю Ваши рассуждения, если захотите продолжить. :)
...
Рейтинг: 0 / 0
Пауза в PL\SQL, как?
    #38754168
AG#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suPPLerAG#про либы не забкдьте...
Какие "либы"? APEX_UTIL -- это синоним для PL/SQL-пакета HTMLDB_UTIL, процедура PAUSE которого вызывает SYS.DBMS_LOCK.SLEEP. Не работает последний -- не работает и первый. Всё, точка.

AG#не буду расписывать подробностей (сами додумкайте ;) )
Извините, коллега, мне лень фантазировать о загадочных "процессах" и додумывать "либы", которые помешают вызвать процедуру пакета. Проще знать, как APEX на самом деле работает и из чего состоит. Но я с удовольствием почитаю Ваши рассуждения, если захотите продолжить. :)

Уважаемый коллега...с удовольствием подискутирую с Вами насчет либов, оберток, компиляции в натив (или всеж оберттка APEX-динамик ;) ) и багов ))))
...
Рейтинг: 0 / 0
Пауза в PL\SQL, как?
    #38757830
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AG#Уважаемый коллега...с удовольствием подискутирую с Вами насчет либов, оберток, компиляции в натив (или всеж оберттка APEX-динамик ;) ) и багов ))))

Давайте развеем скуку.

Вот аналог APEX_UTIL.pause:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
conn / as sysdba

grant execute on sys.dbms_lock to test;

conn test;

create or replace package dropme_pkg
as
  g_cloud boolean := false;  

  procedure pause( p_time in number );
end;
/

create or replace package body dropme_pkg
as
  procedure pause( p_time in number )
  is
  begin
    if not g_cloud then
      sys.dbms_lock.sleep( least( 120, greatest( p_time, 1 ) ) );
    end if;
  end;
end;
/

grant execute on dropme_pkg to public;



Окажите любезность, поделитесь "одним нюансом" и необходимостью запуска "отдельного процесса APEX", которые требуются для работы этого кода. Наверно, я упускаю что-то из виду.
...
Рейтинг: 0 / 0
Пауза в PL\SQL, как?
    #38843001
Magic+
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А так не проще реализовать паузу?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
declare
dd date;
begin
dd:=sysdate+1/24/60/60;
while sysdate<dd loop
null;
end loop;
end;
...
Рейтинг: 0 / 0
Пауза в PL\SQL, как?
    #38843033
ten
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Magic+,
Слабоват вброс
...
Рейтинг: 0 / 0
Пауза в PL\SQL, как?
    #38843125
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Magic+А так не проще реализовать паузу?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
declare
dd date;
begin
dd:=sysdate+1/24/60/60;
while sysdate<dd loop
null;
end loop;
end;


оракля может соптимизировать и убрать с кода null цикл

.....
stax
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Пауза в PL\SQL, как?
    #39587456
Регин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда вместо sleep - job с отложенным стартом. Сделать рассылку джобом, который сам себя пересоздаёт для оставшихся писем.
...
Рейтинг: 0 / 0
Пауза в PL\SQL, как?
    #39587723
alex-ls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РегинТогда вместо sleep - job с отложенным стартом. Сделать рассылку джобом, который сам себя пересоздаёт для оставшихся писем.
прошло больше 3 лет, некромантушка
...
Рейтинг: 0 / 0
Пауза в PL\SQL, как?
    #39587730
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex-lsРегинТогда вместо sleep - job с отложенным стартом. Сделать рассылку джобом, который сам себя пересоздаёт для оставшихся писем.прошло больше 3 лет, некромантушка И это при том, что решение-то уже было за четыре года до этого:
sleep(rand(1000))
...
Рейтинг: 0 / 0
19 сообщений из 69, страница 3 из 3
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Пауза в PL\SQL, как?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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