2011-05-24 73 views
1

假设我有一个名为EMPLOYEE的表,并且该表有一个名为ManagerID的字段。该字段是EMPLOYEE表中其他经理的另一个记录的FK。什么是验证没有循环引用(递归外键)的理想方法?检查递归外键的方法

编辑 - 让我补充一点,每个员工都不需要经理。将会有一些没有设置其ManagerID字段的员工记录。

* 示例:用户123具有用户345作为他们的管理员。用户345具有用户567作为他们的经理。出于一些疯狂的原因,用户567具有用户123作为他们的经理。

我想检查用户345是否在循环引用。 *

解决这个问题的最好方法是什么?一个简单的查询?业务逻辑代码(C#/ VB.NET)?

其他人做了什么?

示例表架构 -

-- Employee Table -- 
UserID (int - PK) 
ManagerID (int - FK to another UserID; can be null) 
+0

你有一些表结构吗? – gbn 2011-05-24 19:53:34

回答