0
当在参照关系中插入或修改一个元组造成了不一致性时,可采取的策略:
当删除或修改被参照关系的元组造成了不一致性时,可采取的策略:
任何试图违背用户定义完整性的数据更新操作都是不允许的。 系统将拒绝执行相应的操作。
SQL拒绝任何试图违背实体完整性的数据更新操作。
• SQL拒绝任何试图在参照关系中产生外码的值与被参照关系主码的值不对应的修改操作。 • SQL拒绝任何试图在参照关系中产生外码的值与被参照关系主码的值不对应的插入操作。
当删除或修改被参照关系中数据时: • ON UPDATE:如果试图修改被参照关系中某记录的主码,而该主码恰巧在参照关系中被引用,则控制策略由ON UPDATE决定。 • ON DELETE:如果试图删除被参照关系中某记录,而该记录主码的值恰巧在参照关系中被引用,则控制策略由ON DELETE决定。
SQL拒绝任何试图违背用户定义完整性的数据更新操作。
NO ACTION:拒绝删除或修改被参照关系的记录。 CASCADE:当删除或修改被参照关系的记录时,自动删除参照关系中对应的记录。 SET NULL:当删除或修改被参照关系的记录时,若参照关系的外码未设置“NOT NULL”限制,可将对应的记录外码值置空。