incremento automático na chave primária composta
Eu tenho uma tabela chamada 'Espaços de trabalho', onde as colunas 'AreaID' e 'SurfaceID' funcionam como uma chave primária composta. O AreaID faz referência a outra tabela chamada 'Areas', que possui apenas AreaID como chave primária. O que eu quero fazer agora é fazer com que o surfaceID recupere de 1 a cada novo AreaID. No momento, estou usando o seguinte código para as tabelas 'Áreas' e 'Áreas de trabalho':
--Table 'Areas'
CREATE TABLE Areas (
AreaID INT IDENTITY(1,1) PRIMARY KEY,
Areaname VARCHAR(60) UNIQUE NOT NULL
)
--Table 'Workspaces'
CREATE TABLE Workspaces (
AreaID INT
CONSTRAINT ck_a_areaid REFERENCES Areas(AreaID)
ON DELETE CASCADE
ON UPDATE NO ACTION,
SurfaceID INT IDENTITY(1,1)
CONSTRAINT ck_surfaceid CHECK (surfaceid > 0 AND surfaceid < 1001),
Description VARCHAR(300) NOT NULL,
CONSTRAINT ck_workspaces PRIMARY KEY (AreaID, SurfaceID)
)
Quando uso o código acima, obtenho um resultado como esse ao criar novos espaços de trabalho em diferentes áreas:
AreaID SurfaceID
1 1
1 2
1 3
2 4
2 5
3 6
Etc...
Mas eu quero que o SurfaceID reconte de 1 em cada novo areaID, para que meu resultado desejado seja assim:
AreaID SurfaceID
1 1
1 2
1 3
2 1
2 2
3 1
Etc...
Alguém sabe como isso pode ser corrigido?