powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как из процедуры выдать сообщение и продолжить?
13 сообщений из 13, страница 1 из 1
Как из процедуры выдать сообщение и продолжить?
    #32105566
darkmonk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То есть, пользователь прочтет, нажмет "ОК" и процедура двинется дальше.

Спасибо.
...
Рейтинг: 0 / 0
Как из процедуры выдать сообщение и продолжить?
    #32105584
Animal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из какой процедуры?


Если ты имел ввиду процедуру написанную на PL/SQL , находящуюся в пакете инстанса и вообщето выполняющуюся на сервере, то расскажика мне приятель у тебя что все юзеры будут бегать в серверную читать сообщения и нажимать на кнопку ОК???
...
Рейтинг: 0 / 0
Как из процедуры выдать сообщение и продолжить?
    #32105603
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Писали мы когда-то подобное. Вкраце: через открытие дополнительной сесии и пайпов, обменивающихся данными между этими сессиями. Но ИМХО в рабочем проекте от этого уйти. Это интересная задачка, но пусть она и останется как тренировка мозгов.
...
Рейтинг: 0 / 0
Как из процедуры выдать сообщение и продолжить?
    #32105605
Animal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том то и дело что проще это все что хочешь написать на клиенте.
...
Рейтинг: 0 / 0
Как из процедуры выдать сообщение и продолжить?
    #32105681
darkmonk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть клиентское приложение, в котором можно использовать процедуры PL/SQL.
Если в процедуре вставить P_EXCEPTION(0, 'тра-та-та'); в клиенте вылетит окно с красным крестом, словами "тра-та-та" и процедура останавливается, непрокоммиченые транзакции откатываются.

P_EXCEPTION выглядит так:

create or replace procedure P_EXCEPTION
(
nFLAG_SMART in number,
sTEXT in varchar2
)
as
nCOUNTER number;
sCHAR varchar2(1);
nNON_SPACED number := 0;
sTMP varchar2(2000) := null;
begin
if nFLAG_SMART <> 0 then
return;
end if;
for nCOUNTER in 1..length(sTEXT) LOOP
sCHAR := substr(sTEXT, nCOUNTER, 1);
if sCHAR in (chr(10), chr(13), chr(32)) then
nNON_SPACED := 0;
else
nNON_SPACED := nNON_SPACED + 1;
end if;
if nNON_SPACED >= 125 then
sTMP := sTMP || chr(32);
nNON_SPACED := 0;
end if;
sTMP := sTMP || sCHAR;
if nCOUNTER = 116 and substr(sTEXT, nCOUNTER + 1, 1) in (chr(10), chr(13), chr(32)) then
sTMP := sTMP || chr(160);
nNON_SPACED := nNON_SPACED + 1;
end if;
end LOOP;
raise_application_error( -20103, sTMP );
end;

Так вот, как бы замутить вылетающее окно, но не останавливающее процедуру?
...
Рейтинг: 0 / 0
Как из процедуры выдать сообщение и продолжить?
    #32105776
biv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
biv
Гость
В клиентской части Парус 8.хх такое сделать не возможно. Если ты запустил P_exception то у тебя однозначно вылетит окошко с красным кресто и откат
...
Рейтинг: 0 / 0
Как из процедуры выдать сообщение и продолжить?
    #32105785
darkmonk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 biv:
А есть варианты получения окна?
...
Рейтинг: 0 / 0
Как из процедуры выдать сообщение и продолжить?
    #32105836
darkmonk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 biv:
Присоветовали мне использовать PACKAGE dbms_output.put_line('line');

Не подскажешь, как в конце вывести все, что в ходе процедуры выводилось этим способом?

Спасибо.
...
Рейтинг: 0 / 0
Как из процедуры выдать сообщение и продолжить?
    #32106204
biv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
biv
Гость
Вариантов получения окна нет.
Использовать dbms_output также не получиться :((
...
Рейтинг: 0 / 0
Как из процедуры выдать сообщение и продолжить?
    #32106254
darkmonk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ацтой.
...
Рейтинг: 0 / 0
Как из процедуры выдать сообщение и продолжить?
    #32106330
Animal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще то же у же сказали

создаешь новую сессию и с помощью пакета DBMS_PIPE передаешь что нужно в новую сессию и обрабатываешь как надо, опять же окно можешь вызвать только на клиенте.
...
Рейтинг: 0 / 0
Как из процедуры выдать сообщение и продолжить?
    #32106331
Animal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PS

Или тебе конкретный листинг процедур надо показать???
...
Рейтинг: 0 / 0
Как из процедуры выдать сообщение и продолжить?
    #32106420
darkmonk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Покажи или ссылкой, пожалуйста. Извини, если чем-то обидел. )))
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как из процедуры выдать сообщение и продолжить?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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