假设有一张表 tab(id, no, name),其中id和no是联合主键,现在需要更新no的值该怎么做呢?直接更新报“ORA-00001: unique constraint (no) violated”异常,求高手帮助!

解决方案 »

  1.   

    可以写个procedure,先判断下你传入的值在表中存不存在,如果已经存在了,那肯定不能改了,否则的话还是可以改的
      

  2.   


    unique constraint (no) violated  这里提示了就是有重复的  
      

  3.   

    如果要用主键的话,肯定是不允许有重复的。如果你的更新完之后确定不会有重复的话,你可以先使主键失效,然后在update ,最后再启用主键
      

  4.   

    drop constraint

    update

    add constratint