在SQL Server的对象资源管理器中,选择并编写外键约束脚本时,将生成以下代码。
USE [MyTestDatabase]
GO
ALTER TABLE [dbo].[T2] WITH NOCHECK ADD CONSTRAINT [FK_T2_T1] FOREIGN KEY([T1ID])
REFERENCES [dbo].[T1] ([T1ID])
GO
ALTER TABLE [dbo].[T2] CHECK CONSTRAINT [FK_T2_T1]
GO
最后一条语句“ ALTER TABLE CHECK CONSTRAINT”的目的是什么?是否运行它似乎并不重要。它不会对现有的不良数据失败,也不会更改对新数据强制实施约束的情况。
谢谢!