定义SQL Server层叠引用完整性约束

来源:互联网 发布:qq钓鱼软件 编辑:程序博客网 时间:2024/05/18 21:41

添加层叠引用完整性约束:

alter table OS_DecisionSub
add constraint FK_OS_Decision foreign key(MainCode)
references OS_DecisionMain(DecisionID)
on update cascade
on delete cascade

注意:

在更新、删除主键基表中的数据时,外键基表中的数据随之变化的情况,选项列表如下

1、SET NULL
如果一个删除语句影响到外键表格里的行,那么当主键记录被删除的时候,这些值可以被设置成NULL。如果一个更新语句影响到外键表格里的行,那么当主键记录被更新之后,这些行将被用NULL值更新。受影响的外键行必须允许接受NULL值。

2、CASCADE
如果一个删除语句影响到一个外键表格里的一个或者多个行,那么当主键记录被删除的时候,这些行就会被删除。如果更新语句影响到外键表格里的行,那么当主键记录被更新之后,这些行就被用来自主键记录的值更新。

3、SET DEFAULT
组成被引用行的外键的值被设置为默认的值。相关表格里所有的外键都必须有针对它们的默认的约束。

4、NO ACTION
这是默认的操作。这用来定义如果更新或者删除语句影响到外键表格里的值,那么操作会被拒绝或者回滚。系统会显示一条错误信息。

 

原创粉丝点击