WITH CHECK ADD CONSTRAINT seguido por CHECK CONSTRAINT vs. ADD CONSTRAINT
Estou examinando o banco de dados de exemplo AdventureWorks para SQL Server 2008 e vejo nos scripts de criação que eles tendem a usar o seguinte:
ALTER TABLE [Production].[ProductCostHistory] WITH CHECK ADD
CONSTRAINT [FK_ProductCostHistory_Product_ProductID] FOREIGN KEY([ProductID])
REFERENCES [Production].[Product] ([ProductID])
GO
seguido imediatamente por:
ALTER TABLE [Production].[ProductCostHistory] CHECK CONSTRAINT
[FK_ProductCostHistory_Product_ProductID]
GO
Eu vejo isso para chaves estrangeiras (como aqui), restrições exclusivas e @ regularCHECK
restrições;DEFAULT
s restrições @ usam o formato regular com o qual estou mais familiarizado, como:
ALTER TABLE [Production].[ProductCostHistory] ADD CONSTRAINT
[DF_ProductCostHistory_ModifiedDate] DEFAULT (getdate()) FOR [ModifiedDate]
GO
Qual é a diferença, se houver, entre fazer da primeira maneira versus a segund