Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: снова про связываемые переменные...  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8136
Бифштекс Макаронович
SQL*Plus
Как руководитель проекта я заставил разработчиков для манипулирования
данными использовать только вызов хранимых процедур базы данных Oracle:
Часом, не разработкой "Паруса" руководил?
Нет. "Смерть под парусом" - это не моя работа... :-)
31 окт 06, 12:24    [3334817]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6919
Бифштекс Макаронович
SQL*Plus
Как руководитель проекта я заставил разработчиков для манипулирования
данными использовать только вызов хранимых процедур базы данных Oracle:
Выборка данных = Вызов процедуры, возвращающей курсор.
Добавление данных = Вызов процедуры, выполняющей вставку данных в таблицу(цы).
Изменение данных = Вызов процедуры, выполняющей изменение данных в таблицы(ц).
Удаление данных = Вызов процедуры, выполняющей необходимые для этого действия.
Процедуры были собраны в логически связанные пакеты (packages).

Часом, не разработкой "Паруса" руководил?

По-моему главной "особенностью" Паруса является не это
пример особенности вот например :
           select RN, PRICE,PRICEMEAS, CURRENCY
                  into nRN1, nPRICE1, nPRICEMEAS1, nCURRENCY
                  from RLPRICESPECS
                 where COMPANY     = nCOMPANY
                   and PRN         = nPRN
                   and nNOMMODIF     is not null
                   and NOMMODIF      is not null
                   and NOMMODIF    = nNOMMODIF
                   and GOODSPARTY    is null
                   and NOMNPACK      is null
                   and NOMNMODIFPACK is null
                   and PRICEMEAS     in (0,1)
                   and (vCURRENCY is null or (CURRENCY = vCURRENCY))
                   and dPRICEDATE  >= PRICEDATE
                   and (dPRICEDATE <= ENDDATE or ENDDATE is null)
                   and rownum = 1
                 order by PRICEDATE desc;
31 окт 06, 13:36    [3335326]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116351
alex-ls

По-моему главной "особенностью" Паруса является не это
пример особенности вот например :
    and rownum = 1
                 order by PRICEDATE desc;


Это реальность, утрированный пример или еще что - то ? :-)
31 окт 06, 13:40    [3335359]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6919
dmidek
alex-ls

По-моему главной "особенностью" Паруса является не это
пример особенности вот например :
    and rownum = 1
                 order by PRICEDATE desc;


Это реальность, утрированный пример или еще что - то ? :-)

реальность, друг - админ в конторе, юзающей Парус. Что занимательно никто кроме него проблемы не заметил
31 окт 06, 13:48    [3335434]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116351
alex-ls
dmidek
alex-ls

По-моему главной "особенностью" Паруса является не это
пример особенности вот например :
    and rownum = 1
                 order by PRICEDATE desc;


Это реальность, утрированный пример или еще что - то ? :-)

реальность, друг - админ в конторе, юзающей Парус. Что занимательно никто кроме него проблемы не заметил

Кошмар.
31 окт 06, 13:49    [3335444]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6919
dmidek
alex-ls
dmidek
alex-ls

По-моему главной "особенностью" Паруса является не это
пример особенности вот например :
    and rownum = 1
                 order by PRICEDATE desc;


Это реальность, утрированный пример или еще что - то ? :-)

реальность, друг - админ в конторе, юзающей Парус. Что занимательно никто кроме него проблемы не заметил

Кошмар.

нет это не кошмар - это кусок из процедуры, мне дали полюбоваться на все полностью... Совершенно непонятно прямо скажем как такое кому-то взбрело в голову но Парус никому не советую покурать...
31 окт 06, 13:53    [3335473]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
Чай Лимонович
Guest
Aki
разве такой подход плох? или неверен в каком-то месте???

Сам всегда ратовал за именно такое использование... то есть ВСЕ по максимуму в ХП...

"Парус". Это дерьмо летит с клиента. Вставляем строки группами по 500 строк.

PARSING IN CURSOR #41 len=38031 dep=0 uid=28 oct=47 lid=28 tim=18446744071976531239 hv=581719326 ad='16704f98'
declare NRN number;
begin
P_SELECTLIST_INSERT_EXT(:Ident, 2944108, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944109, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945370, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945371, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945372, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945373, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945374, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945375, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945376, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945377, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945378, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945379, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945380, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945381, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945382, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945383, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945384, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945385, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2943939, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945405, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945727, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945417, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945418, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944076, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944077, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944078, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944079, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944080, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944081, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944247, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944248, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944249, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944250, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945422, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945423, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945279, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945280, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945281, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945282, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945194, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944864, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944865, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945729, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945270, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945271, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945272, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945273, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945274, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945623, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945624, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945625, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945626, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944742, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944235, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945318, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945319, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945320, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944689, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2943953, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2943954, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944797, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945755, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945756, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945804, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945805, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945326, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945327, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945328, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945769, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944140, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944141, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944142, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2943980, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2943981, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945901, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945902, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945314, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945725, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945937, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945938, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945713, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945613, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945614, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945615, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945217, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945218, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945219, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945220, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945537, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945538, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945539, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945419, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945420, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945421, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944237, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2943945, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944356, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945275, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945276, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945277, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945278, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944320, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944321, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945638, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945639, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944345, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944346, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944347, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944126, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944127, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944128, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944198, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944199, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944200, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944201, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944202, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944203, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944204, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944205, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944206, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944043, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945450, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945747, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945748, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945749, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945750, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945751, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945752, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945657, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945658, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945659, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945660, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945661, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945662, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945663, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945664, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945665, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945666, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945667, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945668, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945669, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945670, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945671, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945672, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945673, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945674, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945675, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945676, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945677, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945678, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945679, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945680, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945681, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945682, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945683, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945684, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945685, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945686, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945687, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945688, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945689, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945690, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945691, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945692, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945693, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945694, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945695, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945696, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945697, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945363, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945364, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945365, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945366, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945367, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945368, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945369, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944660, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2943936, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2943937, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944867, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944868, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944264, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944563, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944564, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945407, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945408, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945409, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945410, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944838, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944839, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944479, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944480, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944481, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944655, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944496, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945575, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944123, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944124, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944239, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944240, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944241, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944242, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945903, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945904, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944487, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944488, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944489, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944490, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944491, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945304, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945305, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944270, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944313, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944483, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944484, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944485, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944427, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944428, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945796, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945797, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945798, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945799, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945800, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945801, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945802, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945803, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945934, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944115, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944116, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945654, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945264, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945265, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945266, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944498, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944499, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945197, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945634, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944533, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944534, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944535, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944536, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944548, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944549, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944550, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2943943, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944668, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945427, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945299, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944932, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944272, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945351, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945753, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945754, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945789, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945790, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945791, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945792, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945793, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945794, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945795, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945847, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945848, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944814, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945738, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945525, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945526, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945527, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945528, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945529, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945530, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945531, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945532, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945533, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944685, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945212, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945757, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945758, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945878, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945879, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945880, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945881, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945882, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945883, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945884, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945885, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945886, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945887, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945888, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945889, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945890, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945891, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945892, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945893, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945894, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945895, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945896, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945897, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945898, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945899, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945900, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944515, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944181, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944182, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944179, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944311, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945192, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944358, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944359, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944360, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944361, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944362, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944363, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944364, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944365, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944366, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945339, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945340, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945478, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945479, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945480, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945850, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945851, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944812, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944331, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944332, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945459, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945460, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945195, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944832, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944833, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945536, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944649, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945425, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945810, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945811, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945812, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945448, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945860, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945861, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945862, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945863, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945864, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945865, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944566, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944567, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944827, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944847, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944848, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944849, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944850, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945723, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944094, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945714, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945918, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945919, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945920, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945921, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945922, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945923, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945924, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945925, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944747, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944748, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944749, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944750, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944751, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944752, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944753, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944754, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944755, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944521, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944522, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944523, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944439, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944440, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2943929, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944030, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944031, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944032, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944033, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944034, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944035, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944036, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944037, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944038, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944039, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945208, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945209, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945607, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945608, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945609, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945827, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945301, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944118, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944119, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945825, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945826, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945940, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945941, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944505, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944506, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945838, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945839, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944835, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944836, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944557, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944558, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945596, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945597, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945598, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945715, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945744, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945745, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944144, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944841, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944842, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945704, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945705, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945706, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945707, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945708, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945709, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945710, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945711, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945712, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945458, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945500, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945501, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945502, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945503, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945504, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945505, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945506, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945507, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945508, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944000, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944001, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944002, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944003, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944004, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945724, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945300, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944665, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944666, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945454, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945455, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945735, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945736, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945737, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944020, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944809, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944810, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944196, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945853, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945854, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945247, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945248, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945249, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945250, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945251, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945252, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945253, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945254, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945255, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945256, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945312, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945313, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945440, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945441, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945442, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945443, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945316, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945317, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945698, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945699, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945543, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945544, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944338, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945344, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945345, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945346, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945347, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945348, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945349, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945350, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2943931, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944336, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944543, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944544, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944545, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944546, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944657, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944658, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944136, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944137, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944138, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945406, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2944740, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945238, :UnitCode, null, null, null, NRN);
P_SELECTLIST_INSERT_EXT(:Ident, 2945239, :UnitCode, null, null, null, NRN);
end;
END OF STMT
PARSE #41:c=31250,e=35364,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=0,tim=18446744071976531232


CREATE OR REPLACE
procedure parus.p_selectlist_insert_ext
(
  nIDENT          in number,
  nDOCUMENT       in number,
  sUNITCODE       in varchar2,
  nDOCUMENT1      in number,
  sUNITCODE1      in varchar2,
  nCRN            in number,
  nRN            out number
)
as
  newRN           number( 17 );
begin
  /* генерация регистрационного номера */
  newRN := gen_ident;
  /* добавление записи в таблицу */
  insert
    into SELECTLIST( RN,IDENT,AUTHID,DOCUMENT,UNITCODE,DOCUMENT1,UNITCODE1,CRN )
    values( newRN,nIDENT,user,nDOCUMENT,sUNITCODE,nDOCUMENT1,sUNITCODE1,nCRN );
  /* установка выходного регистрационного номера */
  nRN := newRN;
end;
/


CREATE OR REPLACE
function parus.gen_ident
return number
is
  rn number;
begin
  select SEQ_IDENT.nextval
    into rn
    from dual;
  return rn;
end GEN_IDENT;
/

P.S. Полследовательность SEQ_IDENT - CACHE=5

P.P.S. Покажите мне этих писателей - убью нах.... Дебилы. Идиоты. Всех кастрировать, дабы не плодились.
31 окт 06, 19:58    [3338146]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
SergeyVL
Guest
Чай Лимонович


CREATE OR REPLACE
function parus.gen_ident
return number
is
  rn number;
begin
  select SEQ_IDENT.nextval
    into rn
    from dual;
  return rn;
end GEN_IDENT;
/

P.S. Полследовательность SEQ_IDENT - CACHE=5

P.P.S. Покажите мне этих писателей - убью нах.... Дебилы. Идиоты. Всех кастрировать, дабы не плодились.


Это кстати правильный подход получать значение сиквенса через функцию.
Хотя может быть не самый быстрый.
1 ноя 06, 06:05    [3338664]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
Q u a d r o
Member

Откуда: Canada
Сообщений: 1987
SergeyVL
Это кстати правильный подход получать значение сиквенса через функцию.

"Правильный" - кто и как определяет "правильность"?. Зачем функция там где достаточно SEQ_IDENT.nextval? Хотя, если правильность означает "пишите больше кода и в результате делайте это ещё медленней"....

Чай Лимонович
"Парус". Это дерьмо летит с клиента. Вставляем строки группами по 500 строк.

Вижу аналогичное каждый день.... правда в других системах ;)
1 ноя 06, 06:16    [3338672]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
Курица Грильевна
Guest
SergeyVL
Это кстати правильный подход получать значение сиквенса через функцию.
Хотя может быть не самый быстрый.
Здравствуйте, писатель Паруса. Адресок и имечко мне свои не подскажете?
1 ноя 06, 18:34    [3343811]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6919
SergeyVL
Чай Лимонович

CREATE OR REPLACE
function parus.gen_ident
return number
is
  rn number;
begin
  select SEQ_IDENT.nextval
    into rn
    from dual;
  return rn;
end GEN_IDENT;
/

P.S. Полследовательность SEQ_IDENT - CACHE=5

P.P.S. Покажите мне этих писателей - убью нах.... Дебилы. Идиоты. Всех кастрировать, дабы не плодились.


Это кстати правильный подход получать значение сиквенса через функцию.
Хотя может быть не самый быстрый.

чего уж тут правильного? Самое простое это сделать сие через триггер в общем-то... Зачем функция :-) Хотя если идет частая вставка, то вполне можно и без триггера обходиться...
1 ноя 06, 18:39    [3343824]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
SergeyVL
Guest
alex-ls
SergeyVL
Чай Лимонович

CREATE OR REPLACE
function parus.gen_ident
return number
is
  rn number;
begin
  select SEQ_IDENT.nextval
    into rn
    from dual;
  return rn;
end GEN_IDENT;
/

P.S. Полследовательность SEQ_IDENT - CACHE=5

P.P.S. Покажите мне этих писателей - убью нах.... Дебилы. Идиоты. Всех кастрировать, дабы не плодились.


Это кстати правильный подход получать значение сиквенса через функцию.
Хотя может быть не самый быстрый.

чего уж тут правильного? Самое простое это сделать сие через триггер в общем-то... Зачем функция :-) Хотя если идет частая вставка, то вполне можно и без триггера обходиться...



Oracle PL/SQL Best Practices By Steven Feuerstein April 2001

SQL-05: Hide reliance on the dual table.
This is a special case of [SQL-04: Put single-row fetches inside functions; never
hard-code a query in your block.] but is worth mentioning. The dual table is a
"dummy" table that is used by Oracle itself and by many developers to access
functionality in the SQL engine that is otherwise not available in PL/SQL.

Use of the dual table is, therefore (and by definition) a workaround or "kludge." We
all know we have to do these things, but we also know or hope that over time, we
will no longer have to do them. So hide your kludges behind a function or procedure
and then, when they are no longer needed, you can change the implementation
without affecting those usages.

Example

Instead of:

DECLARE
    my_id INTEGER;
BEGIN
    SELECT patient_seq.NEXTVAL INTO my_id FROM dual;

you should build yourself a function:

CREATE OR REPLACE FUNCTION next_patient_id
RETURN patient.patient_id%TYPE
IS
    retval patient.patient_id%TYPE;
BEGIN
    SELECT patient_seq.nextval
    INTO retval
    FROM dual;
    
    RETURN retval;
END;

And then you only need to write this to get your next primary key value:

DECLARE
    my_id INTEGER;
BEGIN
    my_id := next_patient_id;

Benefits

You gain the ability to remove workarounds and kludges from code more easily as
underlying software improves.

Resources

nextseq.sf : A function that uses dynamic SQL to offer a single function that retrieves
the n th NEXTVAL from any sequence you specify.
2 ноя 06, 02:56    [3344808]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18487
Мдя...

Открой для себя использование nextval прямо в операторе insert
2 ноя 06, 03:08    [3344812]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
Elic
Member

Откуда:
Сообщений: 29991
SergeyVL
Oracle PL/SQL Best Practices By Steven Feuerstein April 2001
Дядька Фейерштейн имеет свои бзики и ляпы. А толпы его идолопоклонников тупо повторяют за ним всякую дрянь вместо того, чтобы пораскинуть хотя бы немного собственными мозгами.
2 ноя 06, 08:54    [3345041]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
Кетчуп Спагетьевич
Guest
А также опции INCREMENT BY у последовательностей, фразы RETURNING у DML-команд и возможность вставки массивом.

P.S. Да, только кастрация и стерилизация :)
P.P.S. А я о Стивене думал лучше... Не сотвори себе кумира...
2 ноя 06, 08:58    [3345049]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 64029
Блог
Чай Лимонович
"Парус". Это дерьмо летит с клиента. Вставляем строки группами по 500 строк.

Ой. Пожалуйста не надо больше такого кода - от него FireFox-у плохо становится :)

Чай Лимонович
P.S. Полследовательность SEQ_IDENT - CACHE=5

Любопытно. Собственно чисто теоретически любопытно - на основании каких рассуждений выбрано именно это значение [P.S. не надо отвечать эпитетами - я их и так представляю] Или это просто "стандарт" пробиваемый всем сиквенсам?
2 ноя 06, 09:12    [3345076]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 64029
Блог
Чай Лимонович
"Парус". Это дерьмо летит с клиента. Вставляем строки группами по 500 строк.

Ой. Пожалуйста не надо больше такого кода - от него FireFox-у плохо становится :)

Чай Лимонович
P.S. Полследовательность SEQ_IDENT - CACHE=5

Любопытно. Собственно чисто теоретически любопытно - на основании каких рассуждений выбрано именно это значение [P.S. не надо отвечать эпитетами - я их и так представляю] Или это просто "стандарт", пробиваемый всем сиквенсам в Парусе?
2 ноя 06, 09:13    [3345078]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
Жульен Шампиньонович
Guest
softwarer
Ой. Пожалуйста не надо больше такого кода - от него FireFox-у плохо становится :)
Тебе, пожалуй, тоже


softwarer
Любопытно. Собственно чисто теоретически любопытно - на основании каких рассуждений выбрано именно это значение [P.S. не надо отвечать эпитетами - я их и так представляю] Или это просто "стандарт", пробиваемый всем сиквенсам в Парусе?
Похоже да, у всех 14 штук в схеме-владельце.

P.S. У SEQ_IDENT в той конторе было LAST_NUMBER около 55 лимонов. Таблицы dual и seq$ в топе V$SEGMENT_STATISTICS. Там же таблица trigger$. Эти дебилы в начале каждого сеанса проверяют число строк в таблице dual и отсутствие отключенных триггеров. Объем тупизма там весьма... Просто во многих случаях я не смогу придумать, как это сделать тупее, чем сделали они.

Что больше всего удивляет, что это дерьмо кто-то покупает.
2 ноя 06, 09:59    [3345302]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
SergeyVL
Guest
Elic
SergeyVL
Oracle PL/SQL Best Practices By Steven Feuerstein April 2001
Дядька Фейерштейн имеет свои бзики и ляпы. А толпы его идолопоклонников тупо повторяют за ним всякую дрянь вместо того, чтобы пораскинуть хотя бы немного собственными мозгами.


Как мне кажется, такой подход позволяет писать более гибкий код. Вот и все.
Ну понадобилось, например, гнерировать идентификаторы не подряд, а только четные или еще что. Поменял в одном месте и все. Инкапсуляция.
2 ноя 06, 10:27    [3345493]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
Elic
Member

Откуда:
Сообщений: 29991
SergeyVL
Elic
SergeyVL
Oracle PL/SQL Best Practices By Steven Feuerstein April 2001
Дядька Фейерштейн имеет свои бзики и ляпы. А толпы его идолопоклонников тупо повторяют за ним всякую дрянь вместо того, чтобы пораскинуть хотя бы немного собственными мозгами.
Как мне кажется, такой подход позволяет писать более гибкий код. Вот и все.
Ну понадобилось, например, гнерировать идентификаторы не подряд, а только четные или еще что. Поменял в одном месте и все. Инкапсуляция.
Паранойя. Изощрёнными надуманными ухищрениями можно и %уй сломать :)
2 ноя 06, 10:36    [3345581]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
contr
Member

Откуда:
Сообщений: 1909
SergeyVL
Ну понадобилось, например, гнерировать идентификаторы не подряд, а только четные или еще что. Поменял в одном месте и все. Инкапсуляция.

Это не инкапсуляция, это параноидальный идиотизм, берущий начало в криво воспринятых концепциях ООП, прямолинейно и без затей перенесенных из императивной в декларативную среду, да еще и помноженный на нежелание проводить бизнес-анализ.
Что до "только четных" - как уже замечалось, "откройте для себя INCREMENT BY"
2 ноя 06, 11:45    [3346151]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
contr
Member

Откуда:
Сообщений: 1909
Elic
Изощрёнными надуманными ухищрениями можно и %уй сломать :)

Elic, выражайся культурно: "Северный варвар способен не только сломать свой нефритовый жезл, но и поранить при этом руки..."
2 ноя 06, 11:46    [3346158]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
Elic
Member

Откуда:
Сообщений: 29991
contr
Elic, выражайся культурно: "Северный варвар способен не только сломать свой нефритовый жезл, но и поранить при этом руки..."
Не считаю зазорным использовать выразительные средства языка на полную катушку :)
2 ноя 06, 11:54    [3346219]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6919
SergeyVL
Elic
SergeyVL
Oracle PL/SQL Best Practices By Steven Feuerstein April 2001
Дядька Фейерштейн имеет свои бзики и ляпы. А толпы его идолопоклонников тупо повторяют за ним всякую дрянь вместо того, чтобы пораскинуть хотя бы немного собственными мозгами.

Как мне кажется, такой подход позволяет писать более гибкий код. Вот и все.
Ну понадобилось, например, гнерировать идентификаторы не подряд, а только четные или еще что. Поменял в одном месте и все. Инкапсуляция.

я бы не назвал это более хм... гибким
Зато я вижу один, но какой существенный плюс этого Парусовского подохода ;) программистам пишущим код в конторе Паруса, не надо знать что такое сиквенс и как он работает. Всем распоряжение юзать сию функцию, все и юзают, налицо экономия средств за счет качества продукта...
2 ноя 06, 12:07    [3346323]     Ответить | Цитировать Сообщить модератору
 Re: снова про связываемые переменные...  [new]
Полночный
Member

Откуда:
Сообщений: 312
Чай Лимонович

CREATE OR REPLACE
procedure parus.p_selectlist_insert_ext
(
  nIDENT          in number,
  nDOCUMENT       in number,
  sUNITCODE       in varchar2,
  nDOCUMENT1      in number,
  sUNITCODE1      in varchar2,
  nCRN            in number,
  nRN            out number
)
as
  newRN           number( 17 );
begin
  /* генерация регистрационного номера */
  newRN := gen_ident;
  /* добавление записи в таблицу */
  insert
    into SELECTLIST( RN,IDENT,AUTHID,DOCUMENT,UNITCODE,DOCUMENT1,UNITCODE1,CRN )
    values( newRN,nIDENT,user,nDOCUMENT,sUNITCODE,nDOCUMENT1,sUNITCODE1,nCRN );
  /* установка выходного регистрационного номера */
  nRN := newRN;
end;
/


CREATE OR REPLACE
function parus.gen_ident
return number
is
  rn number;
begin
  select SEQ_IDENT.nextval
    into rn
    from dual;
  return rn;
end GEN_IDENT;
/

P.S. Полследовательность SEQ_IDENT - CACHE=5

P.P.S. Покажите мне этих писателей - убью нах.... Дебилы. Идиоты. Всех кастрировать, дабы не плодились.


Интересно, а когда этот код писался? На 8.0 RETURNING, помнится, еще не было. Так что причина может быть вовсе не в криворукости девелоперов, а в нежелании менеджмента проекта переписывать существующий код под новые версии оракла. И я их понимаю: во сколько это может встать представляете?

Кстати, ради любопытства заглянул в OeBS. Просто сделал поиск по .NEXTVAL в пакетах и взял первые попавшиеся десять. Примерно в 60% случаев делается select seq.nextval from dual.

P.S. Я не говорю, что _сейчас_ можно писать так. Но и убивать-кастрировать-нах ой не стал бы, не разобравшись.
P.P.S. Нет, к "Парусу" отношения не имею. Даже не видел никогда.
2 ноя 06, 14:38    [3347763]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Oracle Ответить