【发布时间】:2012-11-20 09:41:04
【问题描述】:
我在过程中遇到了 UPDATE 问题。程序编译和我看到(DBMS...)结果示例 100 条记录和错误ORA-00001: unique constraint violated (CUSTOMER_INFO_COMM_METHOD_UX)
我的更新:
UPDATE customer_info_comm_method_tab SET Value=wynikOK WHERE
customer_id=cus_rec.customer_id AND method_id='E_MAIL' AND Value = p_stringWyn;
- wynikOK - 实际新值
- cus_rec.customer_id - 来自光标的实际 customer_id
- p_stringWyn - 表中的旧值
键基于我使用的三个属性(CUSTOMER_ID、VALUE、METHOD_ID)
当然我不能删除索引 CUSTOMER_INFO_COMM_METHOD_UX 因为它不是我的数据库
如果我评论更新程序编译 100% 没有错误,但我需要进行此更新
【问题讨论】:
-
我不确定你的问题是什么。您违反了唯一键约束。消除此错误的唯一方法是不违反该约束。
-
“如果我评论更新程序编译 100% 没有错误”--- 所以评论吧!
-
ZERKMS:但我必须做这个更新
-
@Przemek:您不能执行违反约束的更新。添加了约束,因此您不会破坏完整性,但您希望这样做。所以要么改变主意,要么移除约束。
-
那么要么您的唯一约束(主键)不合适,您应该选择另一个主键,或者您需要重新考虑更新到该值并以不同方式回答问题的要求。
标签: oracle plsql indexing sql-update