sql-server - 当 SQL Server 中的子级可用时阻止父级删除
问题描述
对于一个数据库,当父级与子级有关系时,我希望完成一些阻塞,而子级具有价值。当父级没有链接时,它应该能够删除它。但我不知道我需要如何在 VB 的关系弹出窗口中设置它。
在示例中,我有一个名为Grandparent
并grandparentID
链接到GrandparentID
table 的表Parents
。从表中Parents
,parentID
是链接到表Children
和它们的ParentID
。从表中Children
,ChildrenID
链接到childrenID
表中Grandchildren
。
现在,例如,如果祖父母没有指向父母的链接,那么父母就没有指向孩子的链接,也没有指向孙辈的链接。所以这个父我希望能够删除,当有一个指向孩子的链接时,它应该被阻止删除。
但是,在任何时候,我都应该能够删除数据,方法是向后删除,首先是孙子,孩子,父母,然后是祖父母。
如何在 SQL Server 中进行设置?我是否需要将更新删除规则设置为 None、Cascade 或 SetNull?同样对于接受/拒绝规则,如何设置?
当关系仅在 int 值之间完成时,是否需要将这些关系作为约束?