ALTER TABLE [SchemaName].[TableName] WITH CHECK ADD
CONSTRAINT [FK_TableName_TableName] FOREIGN KEY([Id])
REFERENCES [SchemaName].[TableName] ([Id])
Tento cizí klíč je zcela nadbytečný a nemá smysl, stačí jej smazat. Nemůže být nikdy porušeno, protože řádek odpovídá samotnému ověření omezení.
V hierarchické tabulce by byl vztah mezi dvěma různými sloupci (např. Id
a ParentId
)
Pokud jde o důvod, proč mohl být vytvořen docela pravděpodobně pomocí vizuálního návrháře, pokud kliknete pravým tlačítkem na uzel „Klíče“ v průzkumníku objektů a vyberete „Nový cizí klíč“, zavřete dialogové okno, aniž byste vytvořený cizí klíč smazali, a poté vytvořte nějaké další změny v návrháři otevřené tabulky a její uložení vytvoří tento druh redundantního omezení.