2010-03-12 3 views
1

Какова наилучшая практика или известные методы для реализации порядковых номеров для бизнес-объектов, таких как счета-фактуры, заказы на поставку, номера рабочих мест и т. Д.? Я хочу, чтобы иметь возможность сохранить последнее значение в базе данных и иметь возможность устанавливать его программно. Можно ли использовать таблицу для этой цели, которая имеет кортеж SEQUENCE_NAME, SEQUENCE_NUMBER? Я знаю, что некоторые базы данных имеют тип последовательности первого класса, но другие (например, MySQL) не так, я не на что-то, на что я хочу положиться. Если для хранения этих последовательностей используется таблица, какой правильный способ получить и увеличить их синхронно, чтобы не возникало несоответствий данных?Перечень наилучших методов последовательности

+2

Некоторые базы данных (например, SQL Server) не имеют SEQUENCE в качестве концепции первого класса, но имеют столбцы «идентичность», которые дают такой же эффект в этом контексте. –

+1

В SQL Server 2012 добавлена ​​поддержка для SEQUENCE https://msdn.microsoft.com/en-us/library/ff878091.aspx – janv8000

ответ

0

Если ваш провайдер-агностик является вашей основной целью, то использование таблицы последовательностей, как и вы, вероятно, является самым ванильным подходом. Вы можете использовать блокировку строк либо с явными блокировками, либо с помощью Select ... Для обновления в зависимости от вашего провайдера, для сериализации доступа к таблице.

Смежные вопросы