Вопрос базы данных SQL Server 2008.SQL Table Design - Identity Columns
У меня есть 2 таблицы для аргументов ради клиентов и пользователей, где один клиент может иметь от 1 до n пользователей. Таблица Customers генерирует CustomerId, который является засеянным идентификатором с добавлением +1 к нему. То, что мне нужно в таблице «Пользователи», представляет собой составной ключ, содержащий CustomerId и порядковый номер, так что во всех случаях первый пользователь имеет последовательность из 1, а последующие пользователи добавляются в x + 1.
Так таблица выглядит следующим образом ...
- CustomerId (PK, FK)
- UserId (PK)
- Имя
... и если, например, У клиента 485 было три клиента, данные будут похожи на ...
CustomerId | UserId | Name
----------
485 | 1 | John
485 | 2 | Mark
485 | 3 | Luke
Я понимаю, что я могу вручную добавить запись 1,2,3, ..., n для UserId, но я хотел бы, чтобы это произошло автоматически при вставке строки в SQL, так что в показанном примере я мог бы эффективно вставлять строки с CustomerId и именем с SQL Server, защищающим идентификатор и т. д. Есть ли способ сделать это через сам проект базы данных - когда я устанавливаю UserId как идентификатор, он работает от 1 до бесконечности для всех клиентов, что не то, что я ищу для - у меня что-то не получается, или это не вариант?
Надежда, что имеет смысл - спасибо за вашу помощь
Я в замешательстве. Вы хотите, чтобы столбец IDENTITY автоматически увеличивался каждый раз, когда вы вставляете строку? –
В таблице «Пользователи» да, но всегда нужно посеять 1 для каждого другого клиента. Если я устанавливаю UserId в качестве столбца Identity (как часть составного ключа с CustomerId), он, кажется, увеличивается до бесконечности. Извините, мне сложно это объяснить! – Chris