INSERT INTO SS_ALERT_EVENTS ( ALERT_ID, EVENT_ID, TIME_DURATION, ALERT_EVENT_EFFECT, DATASET_ASSIGN_RULE, KEY_FIELDS_ASSIGN_RULE, SIDE, ALERT_VALIDATION_RULE, UNIQUE_ID ) VALUES ( 'test1', 7 , 0, 1 , NULL, '5b414c4552545f494e535452554d454e542e496e737472756d656e742049445d203a3d205b54524144455f5245504f52542e496e737472756d656e742049445d3b', -1, '5b414c4552542e416374696f6e5d203a3d20313b', 1)
*
ERROR at line 1:
ORA-00001: unique constraint (ESV31SURV.PK_SS_ALERT_EVENTS) violated
EVENT_ID字段是问题所在。但无论如何我想插入它。但是,当我尝试删除该名称的约束时,它表示没有这样的约束。此外,USER_CONSTRAINTS表中没有显示此类约束。我该怎么办?
答案 0 :(得分:3)
唯一约束实际上可能是主要的约束 - 至少这就是名称所暗示的。
删除表的主键可能会产生非常糟糕的副作用,它可能会破坏依赖此主键的应用程序(并且您还必须删除引用该表的所有外键,然后才能删除主键)
该主键是出于某种目的而创建的,因此在盲目删除之前,您应该咨询创建该模式的人,并确保不需要主键(或者应该重新定义)。
说完这一切:尝试使用
删除PKALTER TABLE SS_ALERT_EVENTS DROP PRIMARY KEY
但请仔细检查这是否是一个明智的决定!