|
Автоинкрементация привязанная к значению колонки
|
|||
---|---|---|---|
#18+
Добрый день! Подскажите как реализовать автоинкрементацию привязанную к значению колонки. Ясность должен внести пример ниже: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Как можно видеть в колонке 'id' находится нумерация привязанная к значению в колонке 'group'. То есть это не сквозная автоинкрементация на всю таблицу. Подскажите как реализовать данную задачу, чтобы при добавлении записи 'group' + 'class', значение 'id' заполнялось само. Например, если я добавлю записью: Код: plaintext
В таблице должна появиться запись с 'id' = 3, так как в таблице уже были две записи у которых 'bird' = 'raven': Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 14:50 |
|
Автоинкрементация привязанная к значению колонки
|
|||
---|---|---|---|
#18+
GrandmaSquid3, sequence ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 14:52 |
|
Автоинкрементация привязанная к значению колонки
|
|||
---|---|---|---|
#18+
-2-, для каждого уникального значения из колонки 'group', нужно будет создать свой SEQUENCES? Не жирно ли это? Не лучше ли при добавлении в before insert trigger искать все записи с определенным значением 'group', брать наибольшее значение из колонки 'id', прибавлять +1 и вставлять в новую запись. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 15:05 |
|
Автоинкрементация привязанная к значению колонки
|
|||
---|---|---|---|
#18+
GrandmaSquid3, допускается ли многострочная вставка? придется выставлять блокировку зы дырки всеравно появятся ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 15:06 |
|
Автоинкрементация привязанная к значению колонки
|
|||
---|---|---|---|
#18+
GrandmaSquid3-2-, для каждого уникального значения из колонки 'group', нужно будет создать свой SEQUENCES? Не жирно ли это? Не лучше ли при добавлении в before insert trigger искать все записи с определенным значением 'group', брать наибольшее значение из колонки 'id', прибавлять +1 и вставлять в новую запись. а в ето время в соседний сессии ... зы имхо блокировать придется как минимум группу .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 15:09 |
|
Автоинкрементация привязанная к значению колонки
|
|||
---|---|---|---|
#18+
GrandmaSquid3для каждого уникального значения из колонки 'group', нужно будет создать свой SEQUENCES?Зачем? Глобальный инкремент не нарушает инкрементальность в разрезе каких-либо значений. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 15:12 |
|
Автоинкрементация привязанная к значению колонки
|
|||
---|---|---|---|
#18+
GrandmaSquid3, 1) в табличке справочнике group добавить поле cur_id 2) ф-цией в автономной транзакции читать и увеличивать cur_id 3) в триггере :new.id:=group_nextval(:new.group); .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 15:24 |
|
Автоинкрементация привязанная к значению колонки
|
|||
---|---|---|---|
#18+
Stax1) в табличке справочнике group добавить поле cur_id 2) ф-цией в автономной транзакции читать и увеличивать cur_idКачественно не отличается от односиквенса. Только количественно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 15:31 |
|
Автоинкрементация привязанная к значению колонки
|
|||
---|---|---|---|
#18+
-2-Качественно не отличается от односиквенса. Только количественно. согласен, я тож за одну последовательность но, часто архитекторы хотят номерацию в разрезе (я уж не говорю о дырках) иногда бывает удобно как появились автономные не вижу огромных перепон в использовании (нет cach и пусть) .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 15:42 |
|
|
start [/forum/topic.php?fid=52&msg=39814120&tid=1882491]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 144ms |
0 / 0 |