У меня было ограничение в таблице
CREATE TABLE "USERSAPPLICATIONS" (
"USERID" NUMBER NOT NULL ,
"APPLICATIONNAME" VARCHAR2 (30) NOT NULL ,
CONSTRAINT "PK_USERSAPPLICATIONS" PRIMARY KEY ("USERID","APPLICATIONNAME")
)
/
Две недели назад я изменил таблицу, добавил несколько столбцов, удалил ограничение "PK_USERSAPPLICATIONS" и добавил суррогатный ключ. В Oracle SQL Developer я вижу, что ограничение PK_USERSAPPLICATIONS больше не существует.
Независимо от этого, когда я пытаюсь добавить две записи с той же комбинацией userid/applicationName, я получаю сообщение об ошибке
SQL Error: ORA-00001: unique constraint (ACCOUNTMP1.PK_USERSAPPLICATIONS) violated
00001. 00000 - "unique constraint (%s.%s) violated"
*Cause: An UPDATE or INSERT statement attempted to insert a duplicate key.
For Trusted Oracle configured in DBMS MAC mode, you may see
this message if a duplicate entry exists at a different level.
*Action: Either remove the unique restriction or do not insert the key.
Когда я выполняю оператор
SELECT *
FROM user_cons_columns
WHERE constraint_name = 'PK_USERSAPPLICATIONS'
Я получаю нулевые строки. Как это может быть? Oracle не должен иметь никаких знаний об ограничении PK_USERSAPPLICATIONS, поскольку он был удален уже несколько недель назад, и я не вижу его в базе данных.