Мне нужно присвоить уникальный номер каждому «клиенту». В основном номер счета или так сказать. Мне нужно сгенерировать порядковый номер с префиксом ... скажем ... 10001111 до конца 19999999. Номера должны быть уникальными. Я знаю, как создать случайное число, но эти числа должны быть уникальными и не могут повторяться, поэтому я застрял в том, что даже начинаю с логики программирования. Я нашел несколько C#, которые помогут, но я программирую на VB.NET. Любая помощь будет оценена!Создать последовательный номер с префиксом
ответ
Честно говоря, я не понимаю, почему вам нужно сделать что-то более сложное, чем столбец Identity в SQL Server.
CREATE TABLE Persons
(
P_Id int PRIMARY KEY IDENTITY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
Источник: W3 Schools
Вы можете вытащить данные клиента обратно и предварительно ПЭНД префикс к этому статическими или динамически.
Статический пример будет
SELECT 'CUST-' + P_Id [CustomerNumber], LastName
FROM Persons
Но ничто не мешает вам добавить префикс в виде столбца динамически соединяя их (если нужно хранить несколько префиксов).
В конце дня вам понадобится постоянный магазин, чтобы убедиться, что вы получаете уникальный номер. Вместо того, чтобы изобретать колесо на этом, вы можете использовать сервер БД, который написан для этой цели.
Вы также можете иметь таблицу в БД, задача которой состоит в том, чтобы хранить последний идентификационный номер, и вы можете вручную увеличивать и обновлять его, но я не являюсь этим большим поклонником. Это слишком грязно.
Я собираюсь с вашим предложением. Кажется, более умный и простой способ. Мне нужно несколько префиксов, но я бы просто сделал столбец или идентификатор, который идентифицирует, где идет «номер учетной записи». Также напишите логику, которая, например, если столбец «Идентификатор» равен 1, он добавляет префикс 1000-uniqueIDhere. Я предполагаю, что это сработает или я ошибаюсь/ –
@LordRelix. Я бы сохранил его так же просто, как добавление столбца в таблицу под названием «IdPrefix» (или подобное), и всякий раз, когда я возвращаю идентификатор клиента, я бы объединил этот столбец с идентификатором колонка. Затем вы можете хранить любой префикс, который вам нужен при создании учетной записи, и никогда не придется его корректировать позже (если что-либо изменится в отношении добавления или удаления префиксов или т. Д.). –
Отлично. Я думал, что будет более сложный путь. Я просто люблю делать мою жизнь несчастной. Бесконечно благодарен! –
Один из распространенных способов сделать это - создать все возможности сразу и сохранить их в списке. Когда вы хотите создать нового клиента, выберите случайное число из списка и затем удалите его из этого списка, чтобы его нельзя было использовать снова. Я не знаю, насколько это было бы в вашем сценарии.
Например, у меня есть таблица ... с диапазоном min/max от 1000001 до 199999 ... Я могу просто сделать запрос, который случайно выбирает значение? –
Да, и тогда вам нужно что-то сделать, чтобы удалить это значение, чтобы вы не могли его снова выбрать. Независимо от того, насколько это практично, зависит от размера вашей таблицы, могут быть «более умные» способы.См. Также http://stackoverflow.com/questions/3627029/smart-way-to-generate-unique-random-number – FakeDIY
'генерировать все возможности сразу. Мы еще не в эпоху квантовых компьютеров. :) – Neolisk
- 1. печати Номер записи с префиксом
- 2. Создать последовательный номер на разных объектах java
- 3. Создать diff с префиксом
- 4. Последовательный номер URL
- 5. Sql Последовательный номер сервера
- 6. Последовательный номер SSIS 2008
- 7. TCP Последовательный номер
- 8. OpenERP получить следующий Последовательный номер
- 9. bash переименовывать файлы с префиксом серийный номер
- 10. Excel номер сортировка с буквенным префиксом
- 11. Python: Короткий путь создания последовательный список с префиксом
- 12. Последовательный номер в поле - OpenErp
- 13. Последовательный номер последовательности изменения Quickfix
- 14. Объясните ниже массив Последовательный номер
- 15. Создать последовательный номер строки. или счетчик в XSLT 2.0
- 16. Создать xmlns с префиксом с помощью XmlElement
- 17. Как создать атрибуты XmlElement с префиксом?
- 18. Как создать тег с префиксом пространства имен
- 19. Как создать свойство с префиксом 'data-'?
- 20. Создать случайную строку в ветке с префиксом?
- 21. Последовательный номер MySQL после того, как статья
- 22. Найти самый длинный последовательный номер в R
- 23. Уникальное обозначение фотографий - GUID и последовательный номер
- 24. Почему этот последовательный номер не разрешен
- 25. Последовательный серийный номер, как SELECT MAX
- 26. Вставить последовательный номер после .fa header id
- 27. Как сгенерировать пользовательский последовательный номер с SQL Server 2012
- 28. Код не последовательный порядковый номер в источнике
- 29. Отобразить последовательный номер в столбце таблицы
- 30. Последовательный номер для FTL в таблице
Если вы хотите, чтобы они случайным образом попадали в этот диапазон и при этом сохраняли свою уникальность, каждый раз, когда вы его генерируете, вам придется опросить все другие ранее сгенерированные числа, чтобы гарантировать уникальность. – NominSim
Начните с одного и продолжайте добавлять его? Или есть конкретная причина, по которой вам нужно использовать случайные числа? –
Мне нужна консистенция. Я, очевидно, могу сделать уникальный идентификатор с 1, 2, 3, но все они нуждаются в префиксе. –