powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Автоинкрементация привязанная к значению колонки
10 сообщений из 10, страница 1 из 1
Автоинкрементация привязанная к значению колонки
    #39814078
GrandmaSquid3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Подскажите как реализовать автоинкрементацию привязанную к значению колонки. Ясность должен внести пример ниже:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
+--------+----+---------+
| group  | id | class   |
+--------+----+---------+
| mammal |  1 | dog     |
| mammal |  2 | cat     |
| bird   |  1 | penguin |
| bird   |  2 | ostrich |
| mammal |  3 | whale   |
| fish   |  1 | lax     |
+--------+----+---------+

Как можно видеть в колонке 'id' находится нумерация привязанная к значению в колонке 'group'. То есть это не сквозная автоинкрементация на всю таблицу. Подскажите как реализовать данную задачу, чтобы при добавлении записи 'group' + 'class', значение 'id' заполнялось само.

Например, если я добавлю записью:
Код: plaintext
INSERT INTO animals (group,name) VALUES ('bird','raven')

В таблице должна появиться запись с 'id' = 3, так как в таблице уже были две записи у которых 'bird' = 'raven':
Код: plaintext
| bird   |  3 | raven   |
...
Рейтинг: 0 / 0
Автоинкрементация привязанная к значению колонки
    #39814082
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrandmaSquid3,

sequence
...
Рейтинг: 0 / 0
Автоинкрементация привязанная к значению колонки
    #39814091
GrandmaSquid3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-,

для каждого уникального значения из колонки 'group', нужно будет создать свой SEQUENCES? Не жирно ли это? Не лучше ли при добавлении в before insert trigger искать все записи с определенным значением 'group', брать наибольшее значение из колонки 'id', прибавлять +1 и вставлять в новую запись.
...
Рейтинг: 0 / 0
Автоинкрементация привязанная к значению колонки
    #39814093
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrandmaSquid3,
допускается ли многострочная вставка?

придется выставлять блокировку

зы
дырки всеравно появятся

.....
stax
...
Рейтинг: 0 / 0
Автоинкрементация привязанная к значению колонки
    #39814098
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrandmaSquid3-2-,

для каждого уникального значения из колонки 'group', нужно будет создать свой SEQUENCES? Не жирно ли это? Не лучше ли при добавлении в before insert trigger искать все записи с определенным значением 'group', брать наибольшее значение из колонки 'id', прибавлять +1 и вставлять в новую запись.

а в ето время в соседний сессии ...

зы
имхо
блокировать придется как минимум группу

....
stax
...
Рейтинг: 0 / 0
Автоинкрементация привязанная к значению колонки
    #39814101
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrandmaSquid3для каждого уникального значения из колонки 'group', нужно будет создать свой SEQUENCES?Зачем? Глобальный инкремент не нарушает инкрементальность в разрезе каких-либо значений.
...
Рейтинг: 0 / 0
Автоинкрементация привязанная к значению колонки
    #39814112
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrandmaSquid3,

1) в табличке справочнике group добавить поле cur_id
2) ф-цией в автономной транзакции читать и увеличивать cur_id
3) в триггере :new.id:=group_nextval(:new.group);
....
stax
...
Рейтинг: 0 / 0
Автоинкрементация привязанная к значению колонки
    #39814120
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax1) в табличке справочнике group добавить поле cur_id
2) ф-цией в автономной транзакции читать и увеличивать cur_idКачественно не отличается от односиквенса. Только количественно.
...
Рейтинг: 0 / 0
Автоинкрементация привязанная к значению колонки
    #39814130
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Качественно не отличается от односиквенса. Только количественно.
согласен, я тож за одну последовательность

но, часто архитекторы хотят номерацию в разрезе (я уж не говорю о дырках)
иногда бывает удобно
как появились автономные не вижу огромных перепон в использовании (нет cach и пусть)

....
stax
...
Рейтинг: 0 / 0
Автоинкрементация привязанная к значению колонки
    #39814247
Да ну
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxсогласен, я тож за одну последовательностьПоддерживаю предыдущего оратора.
А последовательный номер в группе тянуть аналитикой.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Автоинкрементация привязанная к значению колонки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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