ORA-25006 в колонке FOR UPDATE of CLOB - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь избежать обновления с нулевым значением в столбце CLOB (по другим причинам столбец не может иметь ограничение NOT NULL).

Я написал этот триггер:

create or replace TRIGGER "TEST_NULL"
BEFORE UPDATE OR INSERT OF MY_CLOB_COLUMN
ON T
FOR EACH ROW
begin

     if (:old.MY_CLOB_COLUMN is not null and :new.MY_CLOB_COLUMN is null) then

       RAISE_APPLICATION_ERROR(-20001, 'error');

     end if;  

END;

Однако я получаю

ORA-25006: не могу указать этот столбец в предложении UPDATE OF.

Как мне решить эту проблему?

1 Ответ

0 голосов
/ 28 сентября 2018

Вам нужно удалить OF column name, и вам это нужно только как часть UPDATE:

create or replace TRIGGER "TEST_NULL"
BEFORE UPDATE ON T
FOR EACH ROW
begin
     if (:old.MY_CLOB_COLUMN is not null and :new.MY_CLOB_COLUMN is null) then
       RAISE_APPLICATION_ERROR(-20001, 'error');
     end if;  
END;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...