powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Счетчик для версионника - как?
14 сообщений из 39, страница 2 из 2
Счетчик для версионника - как?
    #32849523
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И с max(id)+1 было бы не хуже и не медленнее. А по действиям - то же самое, что селект сделать, что счетчик дернуть

-- Tygra's --
...
Рейтинг: 0 / 0
Счетчик для версионника - как?
    #32849538
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
>Не знаю. Зачем им собственная нумерация? Странно как-то.

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

>Ну я бы сделал через max(id)+1, если уж так нужно было бы.
...
Рейтинг: 0 / 0
Счетчик для версионника - как?
    #32849546
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
>Не знаю. Зачем им собственная нумерация? Странно как-то.

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

>Ну я бы сделал через max(id)+1, если уж так нужно было бы.

в смысле создать на каждый тип по левой табличке с автоинкрементом ? конечно выход ...
...
Рейтинг: 0 / 0
Счетчик для версионника - как?
    #32849547
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2tygra
просто не люблю безпредметные споры. Ты уже со своими "зачем" половину топиков зафлеймил.
Тебе говоришь что удобнее так то, ты -что можно обойтись. Конечно можно, ничего нет невозможного.
Люди кучу примеров приводят где необходим/удобен sequence, а ты добрую половину из них игнорируешь.
Вот еще тебе пример: каждый год нумерация счетов/счет-фактур начинается заново. В оракловом сиквенсе это настраивается с пол пинка, наример.
Еще? - Два identity поля может в таблице существовать?
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Счетчик для версионника - как?
    #32849599
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпросто не люблю безпредметные споры. Ты уже со своими "зачем" половину топиков зафлеймил.
Если кто-то что-то делает, да еще говорит, что так и нужно, то уж наверное он должен объяснить, зачем это именно так :)
авторТебе говоришь что удобнее так то, ты -что можно обойтись. Конечно можно, ничего нет невозможного.
Кому удобнее? Вам? А мне нет - я вот и говорю, что можно обойтись и без этого. И без смертельных трюков. Если у вас в автомобиле есть педаль сцепления, а у меня нет (автомат), то это же не значит, что моя машина ущербнее :))
авторЛюди кучу примеров приводят где необходим/удобен sequence, а ты добрую половину из них игнорируешь.
Я не игнорирую, я говорю о том, что они там мне лично не нужны. Тем более, что их у меня и нет :). Это все-равно что спорить о том, у кого кнопки круглые, а у кого квадратные - у кого что есть, тот на том и работает. Я сниму шляпу, если вы на MS SQL сможете секвенсы использовать :)) А так - вы не умеете без секвенсов, а я умею :)
авторВот еще тебе пример: каждый год нумерация счетов/счет-фактур начинается заново. В оракловом сиквенсе это настраивается с пол пинка, наример.
Через select max буду делать. Или может быть вообще как-то по-другому все это настраивается. Я пока этим не занимался - других дел хватает. поэтому немогу сказать, как оно на самом деле работает.
авторЕще? - Два identity поля может в таблице существовать?
Нет. Ну и что? То, что два секвенса может быть, я знаю. И что? Из-за этого, которое еще и применяется в 0.05% случаев, громко кричать, что MS маст дай?

Какой-то детский сад у нас получается, из-за мелочей страницы текста исписываем.
Ну есть у одних секвенсы, у других нет, зато есть идентити. Ну и что? Ну все же работают, одинаково работают, и если имеют проблемы - более-менее серьезные проблемы, то в других местах, никак не связанных с этой мелочью.
Пора закрывать топик.

-- Tygra's --
...
Рейтинг: 0 / 0
Счетчик для версионника - как?
    #32849651
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo!а как можно было бы в моей задаче поступить. есть серификаты, там одна табличка, есть там id, cert_no, type. для различных типов своя нумерация начинающаяся с 1, у меня сейчас на каждый тип свой сиквенс, а как с автоинкрементом такое ?
Хоть и не ко мне вопрос.
Я бы разделил ID и нумерацию (что обычно и делаю). ID - на сиквенс, нумерацию на max(id)+1 как вариант. Сиквенсы ведь все равно дыры делают.
...
Рейтинг: 0 / 0
Счетчик для версионника - как?
    #32849653
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
2tygra

select max() - это как я понимаю нада сначала единичку прибавить ... конечно решение интересное но годится для системы на 5-10 юзеров, когда идет речь о серьозных системах выстраивать всех в очередь ради того чтоб получить номерок неполучается ....
sequence же может раздавать номерки тысячам плюзователей с минимальной задержкой, т.к. это собственно основная его задача.
...
Рейтинг: 0 / 0
Счетчик для версионника - как?
    #32849677
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
>Я бы разделил ID и нумерацию (что обычно и делаю). ID - на сиквенс, нумерацию на max(id)+1 как вариант. Сиквенсы ведь все равно дыры делают.

max(id)+1 не получится, нужно по cert_no+1 причем для определеного типа или отдельный селект, но тогда это нужно делать отдельный селект в той же трнзакции а значит такие транзакции (с каждым типом) можно пускать только по очереди.
...
Рейтинг: 0 / 0
Счетчик для версионника - как?
    #32849740
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo!max(id)+1 не получится, нужно по cert_no+1 причем для определеного типа или отдельный селект, но тогда это нужно делать отдельный селект в той же трнзакции а значит такие транзакции (с каждым типом) можно пускать только по очереди.
При "моей" схеме номера ты можешь присваивать хоть по ночам отдельным заданием по любому алгоритму. Для работоспособности системы - это фиолетово. Ссылки идут по ID, а номера они суть - справочные данные.
...
Рейтинг: 0 / 0
Счетчик для версионника - как?
    #32849762
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл еще по поводу дыр...
Видел решение где пул id-шников выделяется. Пул хранится в отдельной таблице. Пользователь запрарашивает первый свободный id-шник, в этот момент проставляется признак что ид-шник занят. Если запись не сохраняется в базу, то ид-шник возвращается в пул.
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Счетчик для версионника - как?
    #32849768
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
типа оператор вбивает, а распечатать с номером он сможет ночью :) тогда оператор очень быстро станет фиолетовым ...
...
Рейтинг: 0 / 0
Счетчик для версионника - как?
    #32849789
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo!типа оператор вбивает, а распечатать с номером он сможет ночью :)
Типа читать надо внимательнее. " хоть ночью", это значит после фиксации ввода записей. Надо сразу - флаг в руки.
...
Рейтинг: 0 / 0
Счетчик для версионника - как?
    #32849825
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторselect max() - это как я понимаю нада сначала единичку прибавить ... конечно решение интересное но годится для системы на 5-10 юзеров, когда идет речь о серьозных системах выстраивать всех в очередь ради того чтоб получить номерок неполучается ....
Если есть соответствующий индекс, то никто и не заметит :))
Секвенс конечно побыстрее будет, но не на столько уж, чтобы все от счастья плакали :))

-- Tygra's --
...
Рейтинг: 0 / 0
Счетчик для версионника - как?
    #32916611
SV7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SV7
Гость
tygra авторselect max() - это как я понимаю нада сначала единичку прибавить ... конечно решение интересное но годится для системы на 5-10 юзеров, когда идет речь о серьозных системах выстраивать всех в очередь ради того чтоб получить номерок неполучается ....
Если есть соответствующий индекс, то никто и не заметит :))
Секвенс конечно побыстрее будет, но не на столько уж, чтобы все от счастья плакали :))

-- Tygra's --

тогда Вам надо всю табличку заблокировать даже на чтение на время селекта и добавления записи с новым "максимальным" номером... а ну как у вас 100 юзеров изюм поштучно продают?...

ИМХО если необходимо делать нумерацию "без дыр" - то оптимально сделать табличку "нумераторов" для каждого типа документа и блокировать только одну запись, оставив в нормальном состоянии табличку документов
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Счетчик для версионника - как?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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