2010-03-08 3 views
0

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

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

Спасибо. Rusty

+0

Предложение: сообщите, что такое ваша СУБД. Некоторые проблемы имеют специфичные для СУБД решения, которые очень удобны. –

ответ

1

Trigger.

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

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

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

1

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