我正在开发sql中的参考数据完整性。
我想创建一个方案,我有三个表名branch1
,branch2
和branch3
。 Branch2
和Branch3
与branch1
表一起加入外键。
现在我想在branch1
表上创建一个系统如果我在branch1
表中插入'active',branch2
和branch3
表将能够在表中插入当我在branch1
表中插入'inactive'时,其他2个表将无法在表中插入任何内容。
这一切都想用参考数据完整性创建。
所以请帮助我,我已经尝试过,但我没有成功
答案 0 :(得分:1)
您可以使用触发器。
BRANCH2
和BRANCH3
上的触发器可用于检查ACTIVE
表格中的BRANCH1
。如果存在,插入可以继续,否则,插入可以取消。
请参阅MSDN Create Trigger doco了解语法。
这是我在快速谷歌上发现的教程:An Intro to SQL Triggers @ SQL Team
如果您还需要控制参照完整性,也可以使用触发器 - 例如,如果从一个表中删除父记录,则该表上的触发器可以首先从其他表中删除子记录,以确保约束“ t阻止删除。
然而,由于您的问题中没有描述真正的父/子关系,我无法看到参照完整性如何适用。
答案 1 :(得分:0)
表不会将数据插入其他表。查询呢。您始终可以在查询中添加“where”子句,以使更新成为条件。