Article ID: 321843 - View products that this article applies to.
This article was previously published under Q321843
You may receive the following error message when you create a FOREIGN KEY constraint:
Server: Msg 1785, Level 16, State 1, Line 1 Introducing FOREIGN KEY constraint 'fk_two' on table 'table2' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints. Server: Msg 1750, Level 16, State 1, Line 1 Could not create constraint. See previous errors.
You receive this error message because in SQL Server, a table cannot appear more than one time in a list of all the cascading referential actions that are started by either a DELETE or an UPDATE statement. For example, the tree of cascading referential actions must only have one path to a particular table on the cascading referential actions tree.
To work around this problem, do not create a foreign key that will create more than one path to a table in a list of cascading referential actions.
You can enforce referential integrity in several ways. Declarative Referential Integrity (DRI) is the most basic way, but it is also the least flexible way. If you need more flexibility, but you still want a high degree of integrity, you can use triggers instead.
The following sample code is an example of a FOREIGN KEY creation attempt that generates the error message:
REFERENCESFor more information, please see the "Cascading Referential Integrity Constraints" topic in SQL Server 2000 Books Online.
Article ID: 321843 - Last Review: November 2, 2007 - Revision: 3.4