Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Флаг  [new]
rv2plus
Member

Откуда:
Сообщений: 28
Есть UI софтина без исходников. В ней есть кнопка, вызывающая процедуру на сервере ORACLE 8i.
Стоит задача, сделать так, чтобы при нажатии кнопки процедура сделала два разных действия, а не одно.
Мысль : фиксировать в ORACLE количество нажатий. Типа юзер первый раз нажал кнопку - произошло первое действие.
Нажал второй раз - произошло второе действие. Очевидное и тупое решение : заводим табличку с одной записью и одним полем. В поле храним флаг - признак нажатия = 0 или 1. При первом нажатии меняем в таблице 0 на 1, при втором 1 на 0 и так по кругу.
Может есть более красивое решение ? Переменные пакета и контекст не подходят, т.к. софтина каждый раз начинает новую сессию работы с ORACLE и это хозяйство инициализируется, каждый раз заново. Что посоветуете ?
26 июн 15, 12:40    [17819731]     Ответить | Цитировать Сообщить модератору
 Re: Флаг  [new]
Elic
Member

Откуда:
Сообщений: 29988
rv2plus
и так по кругу.
С софтиной один человек работает или много? Как пользователь поймёт, какое же действие он выполняет?
26 июн 15, 13:00    [17819838]     Ответить | Цитировать Сообщить модератору
 Re: Флаг  [new]
-2-
Member

Откуда:
Сообщений: 15330
rv2plus
сделать так, чтобы при нажатии кнопки процедура сделала два разных действия
...
Что посоветуете ?
Самое очевидное - выполнять в процедуре "два разных действия".
26 июн 15, 13:04    [17819862]     Ответить | Цитировать Сообщить модератору
 Re: Флаг  [new]
ArtNick
Member

Откуда:
Сообщений: 1227
rv2plus
Может есть более красивое решение ? Что посоветуете ?

Конечно есть!

select case when mod(trunc(dbms_random.value(1,10000000)),2) =1 then 'Handle1_1' else 'Handler_2' end handler from dual 

Догадаться о том какая процедура отработает при нажатии кнопки будет так же просто как и в предложенном тобой случае.
26 июн 15, 13:06    [17819876]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить