我正在开发一个项目,需要修改某一字段(个人编号)值,这个字段为主关键字(在个人信息表中),在其它表中以个人编号做为约束,请问如何用一个通用的方法能够把这个字段的值修改

解决方案 »

  1.   

    确实,你的数据库设计有问题,不过问题出现了就需要解决,不是吗?
    方法一:
     1、从系统表中查找有关表的外键关联信息。
     2、按照外键关联写SQL语句,做存储过程实现。
    方法二:
     1、从系统表中查找有关表的外键关联信息。
     2、按照数据关联的关系,做触发器实现。不管是哪一种方法,如果数据关联比较多,最好不要手工来写这些东西,建议做一个小程序来生成这些语法。
      

  2.   

    自动生成也好,手写也好,反正需要许多的SQL语句。
    其具体思路:
      1、弄清楚数据关系及涉及到的所有表。
      2、按照主表到子表的顺序做插入操作,只插入主表(包括子级主表)
      3、修改子表数据
      4、按照子表到主表的顺序做删除操作。注:
      只有子表关联字段做主键且又有子表的情况下才需要做插入和删除操作,其它的直接UPDATE就可以了。
      

  3.   

    在阿看来,泥的这个问题还是得遵从主从表的关系,先删除从表中的记录,然后再删除主表中的数据;泥可以利用TOAD里的TOOLS里的'MASTER DETAIL BROWSER'来方便这种操作。