Автоматически генерировать номер билета varchar через DB - PullRequest
0 голосов
/ 08 марта 2010

Я ищу предложение о том, как заставить БД автоматически генерировать номера билетов (предпочтительно через БД SQL) для столбца varchar. У меня есть следующие таблицы в БД: Действия и случаи, и я предпочел бы, чтобы формат был «Act000001» или «Cse000001». Это было бы что-то похожее на свойство столбца идентификации.

Любое предложение будет высоко оценено.

Спасибо. Расти

Ответы [ 2 ]

1 голос
/ 08 марта 2010

Если вы можете обрабатывать неизбежные пропущенные числа при откате и т. Д. И если вам нужен только один префикс для таблицы, я предлагаю столбец идентификаторов (для создания чисел) и вычисляемый столбец, чтобы добавить буквы и начальные нули к идентичность. Если сложнее, я предлагаю триггер. Это не должно обрабатываться только приложением, иначе у вас появятся записи, которые кто-то должен был ввести вручную, которые испорчены. Вам также необходимо учитывать условия гонки, поэтому тщательно продумывайте дизайн.

1 голос
/ 08 марта 2010

Trigger.

Как бы то ни было, НЕ ИСПОЛЬЗУЙТЕ ЭТО В КАЧЕСТВЕ ПЕРВИЧНОГО КЛЮЧА - на SQL Server у вас просто огромный скачок производительности.

Поместите в обычный столбец идентификаторов как PK, а затем используйте его как обычное бизнес-свойство (уникальный индекс для него).

Вы можете генерировать их через триггер, хранимую процедуру, что угодно. Вырожденный, вырожденный. Как хочешь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...