sql >> Base de Datos >  >> Database Tools >> SSMS

SQL Server Management Studio NO me permite crear varias claves externas para varias claves primarias

Creo que debe haber tenido un problema técnico extraño en SSMS. Pude crear su esquema usando SSMS 2014 sin ningún error. Rellenó previamente las tres columnas de clave primaria compuesta al agregar el nuevo FK. Tuve cuidado de asegurarme de que todos estuvieran en blanco antes de comenzar a agregar las dos columnas en el FK. Tal vez SSMS pensó que una de las filas en blanco todavía tenía datos.

Editar:Solo tuve un pensamiento más, SSMS es conocido por almacenar en caché cualquier cambio que se realice al editar una tabla. Por ejemplo, si va a modificar dos tablas y tiene ambas ventanas de edición abiertas. Luego, cambia el PK en una ventana y luego intenta hacer referencia a él en la segunda ventana, se producirá un error porque ha almacenado en caché el esquema que era para la primera tabla cuando se abrió la ventana por primera vez.

Aquí está mi DDL generado:

CREATE TABLE [dbo].[AppRegion](
    [appname] [nvarchar](50) NOT NULL,
    [isocode] [char](5) NOT NULL,
 CONSTRAINT [PK_AppRegion] PRIMARY KEY CLUSTERED 
(
    [appname] ASC,
    [isocode] ASC
)
) ON [PRIMARY]

CREATE TABLE [dbo].[Translation](
    [ResourceKey] [nvarchar](128) NOT NULL,
    [appname] [nvarchar](50) NOT NULL,
    [isocode] [char](5) NOT NULL,
    [text] [nvarchar](400) NULL,
 CONSTRAINT [PK_Translation] PRIMARY KEY CLUSTERED 
(
    [ResourceKey] ASC,
    [appname] ASC,
    [isocode] ASC
)
) ON [PRIMARY]

ALTER TABLE [dbo].[Translation]   ADD  CONSTRAINT [FK_Translation_AppRegion] FOREIGN KEY([appname], [isocode])
REFERENCES [dbo].[AppRegion] ([appname], [isocode])