我有Object1和联结表以及Object2。 Object2是具有许多联结表的表,但只能有一个联结表来转发它。删除表Object1时,应删除联结表和Object2。在这种情况下如何制作外键?但是当删除Object2时,应该只删除连接表,而不是Object1。我正在使用SQL Server 2008。
答案 0 :(得分:1)
我建议:
当删除表1中的行时,应删除表2中的连接表(JT)和行。答案:在JT参考表1中设置FK,ON DELETE CASCADE设置为on。在表2中设置FK,引用JT并将ON DELETE CASCADE设置为on。
当删除表2中的行时,应删除JT中的行。答:您可能需要为此设置触发器。
答案 1 :(得分:1)
你可以
junction
表格中的外键Object2
。Object1
添加Trigger,检查删除情况并删除junction
表格和Object2
中的相应记录。