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

Откуда: Germany
Сообщений: 66
Народ, посоветуйте как организовать автоинкремент для поля AREANU.
см. рис.

Описание: Есть документы. В каждом есть растровые и векторные области. К примеру Документ Ном.1 имеет две растровые и две векторные области. Соответственно каждая область имеет свои характеристики. В рамках документа эти области должны иметь сквозную нумерацию То есть 1,2 для растра и 3,4 для вектора. Посоветуйте как реализовать последовательность. Может кто писал уже тригер для подобного случая?

К сообщению приложен файл. Размер - 0Kb
9 ноя 07, 14:02    [4896949]     Ответить | Цитировать Сообщить модератору
 Re: Автоинкремент для двух табли  [new]
EVIL
Member

Откуда: там, где коллайдер
Сообщений: 360
надо больше информации

Если, например, документ с номером 2 может иметь области с нумерацией 5,6 и 7,8 соответственно, то одной последовательности с заполнением в триггере для обоих таблиц будет достаточно.

Иначе, пишите доп.условия.
9 ноя 07, 14:22    [4897141]     Ответить | Цитировать Сообщить модератору
 Re: Автоинкремент для двух табли  [new]
Vlad_Alf
Member

Откуда: Germany
Сообщений: 66
Во втором документе нумерация начинаетьса сначала то есть 1,2,3 и тд.
9 ноя 07, 14:28    [4897212]     Ответить | Цитировать Сообщить модератору
 Re: Автоинкремент для двух табли  [new]
EVIL
Member

Откуда: там, где коллайдер
Сообщений: 360
Тогда приходит идея добавить пару колонок в ClickableDocument - MaxRasterAreaNo и MaxVectorAreaNo. При добавлении записей в таблицы областей, значения считываются оттуда и увеличиваются.

Придется повозится с триггерами. Опасайтесь мутации.
9 ноя 07, 14:36    [4897279]     Ответить | Цитировать Сообщить модератору
 Re: Автоинкремент для двух табли  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
ИМХО вручную:
блокировкой... то бишь блокировать запись документа, например, и определять max+1 или спец. полем следующий номер внутри документа..
9 ноя 07, 14:37    [4897287]     Ответить | Цитировать Сообщить модератору
 Re: Автоинкремент для двух табли  [new]
Mikst
Member

Откуда: Москва
Сообщений: 983
Jannny
ИМХО вручную:
блокировкой... то бишь блокировать запись документа, например, и определять max+1 или спец. полем следующий номер внутри документа..


А такой изврат как:
1. один сиквенс
2. полчаем для ClickableDocument новый ID как nextval
3. для каждой области берем nextval-ClickableDocument.ID
9 ноя 07, 15:36    [4897787]     Ответить | Цитировать Сообщить модератору
 Re: Автоинкремент для двух табли  [new]
Mikst
Member

Откуда: Москва
Сообщений: 983
Janny это не вам ответ, а автору. Цитату забыл убрать.
9 ноя 07, 15:37    [4897798]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить