我有以下情况,我想要做的是,如果我从DashboardKpi或DashboardGrid中删除一行,也应该删除ComponentProperty上的相应记录。
这可能吗?到目前为止,我只能反过来做,如果删除ComponentProperty,相应的DashboardKpi或DashboardGrid会被删除,但这绝对不是我想要的。
有关我该怎么做的任何建议?
答案 0 :(得分:1)
删除级联不会帮助你。正如您在删除行级联时提到的那样,它会删除引用原始删除行的其他表中的所有其他行,然后删除原始行。
逻辑的原因是ComponentProperty中的行可以没有DashboardKpi或DashboardGrid,但DashboardKpi或DashboardGrid中的行(如果它们引用ComponentProperty)不能导致它们依赖于ComponentProperty。
您可以根据您的DBMS以不同方式解决您的问题。大多数人的共同点是使用程序或触发器。如果您使用Postgresql,那么您也可以使用ON DELETE规则。