Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Se la chiave esterna non esiste, aggiungere un vincolo di chiave esterna (o eliminare un vincolo di chiave esterna se esiste) senza utilizzare il nome?

Prova questo:

IF NOT EXISTS (SELECT * FROM sys.objects o WHERE o.object_id = object_id(N'[dbo].[FK_Products_Brands]') AND OBJECTPROPERTY(o.object_id, N'IsForeignKey') = 1)
BEGIN
    ALTER TABLE [dbo].[Products] WITH CHECK ADD CONSTRAINT [FK_Products_Brands] FOREIGN KEY([BrandID]) REFERENCES [dbo].[Brands] ([Id])
END