-1

我正在研究 sql 中的参照数据完整性。

我想创建一个我有三个表名的场景branch1branch2并且branch3Branch2Branch3branch1带有外键的表连接。

现在我想在表上创建一个系统,branch1如果我在表中插入“活动”,branch1并且branch2branch3将能够在表中插入,当我在表中插入“非活动”时branch1,其他 2 个表将无法在表中插入任何东西桌子。

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

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

4

2 回答 2

1

您可以使用触发器。

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

有关语法,请参阅MSDN Create Trigger doco。

这是我在快速谷歌上找到的教程:SQL 触发器简介@SQL 团队


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

但是,由于您的问题中没有描述真正的父/子关系,我看不出参照完整性是如何应用的。

于 2013-03-09T12:13:43.830 回答
0

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

于 2013-03-09T12:07:42.007 回答