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.

Foi útil?

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
scroll top