我有一个数据库,它在几年中经历了一些重大转变,从几个不同的编码员那里得到了输入。一些表包含通过引用列对其他数据的引用,但没有外键约束。这意味着有些表可能包含死链接。
我想为所有引用列添加外键约束。当某些数据可能引用死链接而其他数据实际上可能为空时,我如何确保这会成功。
我想我需要这样说:
ALTER TABLE dbo.Users ADD CONSTRAINT FK_Users_Persons FOREIGN KEY
(
Person_ID --In some cases Person_ID will be null
) REFERENCES dbo.People
(
Person_ID
) ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT FOR REPLICATION
GO
ALTER TABLE dbo.Users
NOCHECK CONSTRAINT FK_Users_Persons
GO
COMMIT
请让我知道这是否准确以及是否有任何隐藏的陷阱?
提前致谢