Domanda

In MSSQL c'è un modo per specificare un nome per un vincolo PK in modo che MSSQL non fornisca un nome PK generato casualmente in questo modo:

PK__Addresse__3214EC074E88ABD4

L'unico modo in cui riesco a vederlo ora è creare prima la tabella e quindi emettere un comando ALTER per rinominare il PK. Sarebbe più facile se potessi farlo in un colpo solo.

È stato utile?

Soluzione

Sì. Ecco la sintassi che SSMS genera:

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

Altri suggerimenti

Al momento della creazione della tabella

CREATE TABLE MyTable
(
   Id INT NOT NULL      
   CONSTRAINT PK_MyTable PRIMARY KEY (Id)   
)

Se è necessario modificare la tabella e aggiungere un vincolo primario

ALTER TABLE  MyTable
ADD CONSTRAINT PK_MyTable PRIMARY KEY (Id)

Spero che questo aiuti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top