У нас есть одна из тех странных ошибок, связанных с повреждением зашифрованных данных, которые появляются каждые несколько недель, и никто не знает почему. Пока что кажется, что первичный ключ в таблице изменяется самопроизвольно, поэтому другие строки, которые на него указывают, теперь перепутаны.
Хотя я все еще ищу первопричину этого (воспроизвести невозможно), мне бы хотелось временного взлома, чтобы предотвратить изменение значения столбца. Вот схема таблицы:
CREATE TABLE TPM_INITIATIVES (
INITIATIVEID NUMBER NOT NULL,
NAME VARCHAR2(100) NOT NULL,
ACTIVE CHAR(1) NULL,
SORTORDER NUMBER NULL,
SHORTNAME VARCHAR2(100) NULL,
PROJECTTYPEID NUMBER NOT NULL,
CONSTRAINT TPM_INITIATIVES_PK PRIMARY KEY(INITIATIVEID)
NOT DEFERRABLE
VALIDATE
)
Нам, конечно, нужно иметь возможность создавать новые строки, но я хочу, чтобы НИЧЕГО не изменяло INITIATIVEID
, независимо от того, какие странные запросы выполняются.
Некоторые идеи, о которых я могу подумать:
INITIATIVEID
, и если да, выбросить
исключение или каким-то образом взорваться? По крайней мере, можем ли мы перехватить и / или записать это событие, чтобы узнать, когда оно произойдет и какой запрос вызывает изменение INITIATIVEID
?
Спасибо!