我有一个表学生(id,姓名,地址),以及其他几个表中的student.id参考。假设id为120,并且此id在不同的表中有其他几个条目。
现在我想将id值更新为130以及所有外键引用。
我正在考虑PL / SQL方法的一种方法 - 在 all_constraints 表中执行元数据查询并找到fk引用表,然后对student_id = 130运行查询到所有这些表,然后更新他们。还有其他更好的选择吗?
答案 0 :(得分:1)
Oracle对其他数据库产品中的参照约束没有on update cascade
选项。
一般来说,应该选择一个主键,使其几乎不可能发生变化。如果学生ID可以在正常的商业过程中发生变化"那么它不应该被用作主键;或许系统生成的序号可以发挥这个作用。
好的,这是未来的。完成了什么。您可能会觉得这很有帮助;请注意,我没有使用它,我只是为自己标记以供将来考虑。祝你好运!
http://tkyte.blogspot.com/2009/10/httpasktomoraclecomtkyteupdatecascade.html