Eu tenho que criar números de sequência com base no usuário relacionado. Curti:
╔════════════╦═════════════╦═══════════════════╗
║ Row Id ║ User Id ║ Sequence Number ║
╠════════════╬═════════════╬═══════════════════╣
║ 1 ║ 1 ║ 1 ║
║ 2 ║ 1 ║ 2 ║
║ 3 ║ 2 ║ 1 ║
║ 4 ║ 2 ║ 2 ║
║ 5 ║ 3 ║ 1 ║
║ 6 ║ 1 ║ 3 ║
╚════════════╩═════════════╩═══════════════════╝
Tenho alguns pré-requisitos:
- Cada número de seqüência deve estar entre 1 e 9999. Após 9999, deve saltar para 1 e continuar a partir daí. (propriedade CICLO da Sequência)
- Os números de sequência devem ser gerados com base no ID do usuário. Cada UserId deve ter sua própria sequência.
- Os números de sequência devem ser sequenciais. tal que para o ID de usuário 5: Sequência # 123 deve ser seguida por 124, salto ou reutilização de um número não deve acontecer.
Então, usar uma sequência parece muito certo para mim. Mas não consegui adicionar distinção de ID de usuário à sequência.
CREATE SEQUENCE [dbo].[seq_SequenceNumber]
AS [smallint]
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 9999
CYCLE
NO CACHE
Como posso adicionar a partição UserId a essa sequência?