首页 > 解决方案 > 当 SQL Server 中的子级可用时阻止父级删除

问题描述

对于一个数据库,当父级与子级有关系时,我希望完成一些阻塞,而子级具有价值。当父级没有链接时,它应该能够删除它。但我不知道我需要如何在 VB 的关系弹出窗口中设置它。

在示例中,我有一个名为GrandparentgrandparentID链接到GrandparentIDtable 的表Parents。从表中ParentsparentID是链接到表Children和它们的ParentID。从表中ChildrenChildrenID链接到childrenID表中Grandchildren

现在,例如,如果祖父母没有指向父母的链接,那么父母就没有指向孩子的链接,也没有指向孙辈的链接。所以这个父我希望能够删除,当有一个指向孩子的链接时,它应该被阻止删除。

但是,在任何时候,我都应该能够删除数据,方法是向后删除,首先是孙子,孩子,父母,然后是祖父母。

如何在 SQL Server 中进行设置?我是否需要将更新删除规则设置为 None、Cascade 或 SetNull?同样对于接受/拒绝规则,如何设置?

当关系仅在 int 值之间完成时,是否需要将这些关系作为约束?

在此处输入图像描述

标签: sql-servervb.netrelationship

解决方案


推荐阅读