Especificar o nome do PK durante a criação da tabela
-
08-07-2019 - |
Pergunta
Em MSSQL há uma maneira para especificar um nome para uma restrição PK para que MSSQL não fornece um nome PK gerado aleatoriamente assim:
PK__Addresse__3214EC074E88ABD4
A única maneira que eu posso ver que fazê-lo agora é a primeira a criar a tabela e, em seguida, emitir um comando ALTER para renomear o PK. Seria mais fácil se eu poderia fazê-lo em um tiro.
Solução
Sim. Aqui está a sintaxe que SSMS gera:
CREATE TABLE [Address] (
[ID] [int] IDENTITY(1,1) NOT NULL,
<< columns here >>,
CONSTRAINT [PK_Address] PRIMARY KEY CLUSTERED ([ID] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
Outras dicas
No momento da criação da tabela
CREATE TABLE MyTable
(
Id INT NOT NULL
CONSTRAINT PK_MyTable PRIMARY KEY (Id)
)
Se você precisar alterar a tabela e adicionar uma primária restrição
ALTER TABLE MyTable
ADD CONSTRAINT PK_MyTable PRIMARY KEY (Id)
Espero que isso ajude
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow