Pregunta

En MSSQL hay una manera de especificar un nombre para una restricción PK para que MSSQL no proporcione un nombre PK generado aleatoriamente de esta manera:

PK__Addresse__3214EC074E88ABD4

La única forma en que puedo ver para hacerlo ahora es crear primero la tabla y luego emitir un comando ALTER para cambiar el nombre de la PK. Sería más fácil si pudiera hacerlo de una sola vez.

¿Fue útil?

Solución

Sí Aquí está la sintaxis que genera SSMS:

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

Otros consejos

En el momento de la creación de la tabla

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

Si necesita modificar la tabla y agregar una restricción primaria

ALTER TABLE  MyTable
ADD CONSTRAINT PK_MyTable PRIMARY KEY (Id)

Espero que esto ayude

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top