我有两张桌子。俱乐部和教练。它们之间是 0,1 - 0,1 关系(教练可以有零个或一个俱乐部。俱乐部可以有零个或一个教练)。当我想更换给定俱乐部的教练时,我必须更新俱乐部表。所以我必须改变那个俱乐部的idCoach。让我们考虑一个新教练(给定俱乐部的新指定教练)已经是其他俱乐部的教练。我必须将那个俱乐部的 idCoach 字段设置为 Null,因为他的教练将被分配到另一个俱乐部。此外,如果我想更换教练的俱乐部已经有教练,那么我必须将该教练的 idClub (在教练表中)设置为 Null。
以上所有内容,也适用于我想更换某个教练的俱乐部时。(必须将给定教练的前一家具乐部的 idCoach 字段设置为空,并且必须将新俱乐部的 idCoach 设置为空)。
当我在 Club 或 Coach 表中插入新记录或删除现有记录时,可能会出现同样的问题(在插入、更新和删除中,我必须注意相应的引用并取消它们的链接)。
我想用触发器解决这个问题。我想我必须在 Club 表中有 3 个触发器(用于插入、更新和删除),在 Coach 表中还有 3 个触发器。
在更新触发器中(例如在俱乐部中)我必须更新教练表,这将再次触发俱乐部中的更新(因为在它的主体中它必须更新俱乐部表)并且该触发器将更新教练和触发器等等。所以我会有一个死锁。
如何解决这个问题?
这是我第一次使用触发器,非常抱歉,对于一个简单的事情的这个大解释。
干杯!