参考数据完整性

时间:2013-03-09 12:00:03

标签: sql sql-server

我正在开发sql中的参考数据完整性。

我想创建一个方案,我有三个表名branch1branch2branch3Branch2Branch3branch1表一起加入外键。

现在我想在branch1表上创建一个系统如果我在branch1表中插入'active',branch2branch3表将能够在表中插入当我在branch1表中插入'inactive'时,其他2个表将无法在表中插入任何内容。

这一切都想用参考数据完整性创建。

所以请帮助我,我已经尝试过,但我没有成功

2 个答案:

答案 0 :(得分:1)

您可以使用触发器。

BRANCH2BRANCH3上的触发器可用于检查ACTIVE表格中的BRANCH1。如果存在,插入可以继续,否则,插入可以取消。

请参阅MSDN Create Trigger doco了解语法。

这是我在快速谷歌上发现的教程:An Intro to SQL Triggers @ SQL Team


如果您还需要控制参照完整性,也可以使用触发器 - 例如,如果从一个表中删除父记录,则该表上的触发器可以首先从其他表中删除子记录,以确保约束“ t阻止删除。

然而,由于您的问题中没有描述真正的父/子关系,我无法看到参照完整性如何适用。

答案 1 :(得分:0)

表不会将数据插入其他表。查询呢。您始终可以在查询中添加“where”子句,以使更新成为条件。