powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
13 сообщений из 13, страница 1 из 1
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
    #39389442
Alex_77787
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Пожалуйста, помогите разобраться:

Есть таблица с триггером AFTER FOR EACH ROW. В таблице есть поле CLOB. Если делать UPDATE или INSERT в эту таблицу из формы APEX, то значение :NEW для поля CLOB пустое, а если делать UPDATE или INSERT в эту таблицу из PL/SQL, то значение :NEW для поля CLOB есть. В чем причина и как можно получить значение :NEW для поля CLOB в триггере, если сохранять данные из формы APEX?
...
Рейтинг: 0 / 0
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
    #39389471
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_77787,
Уверены? Странно это.
Копайде дальше. Есть логи апекса в отладке. Изучайте.
...
Рейтинг: 0 / 0
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
    #39389480
Alex_77787
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, если сохранять из формы apex, то raise_application_error значения :new поля clob в триггере, показывает пустое значение, а при insert или update в pl/sql показывает само значение.
...
Рейтинг: 0 / 0
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
    #39389481
Alex_77787
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот что найдено в документации:

LOBs and Triggers
You cannot write to a LOB (:old or :new value) in any kind of trigger.

In regular triggers, you can read the :old value, but you cannot read the :new value. In INSTEAD OF triggers, you can read both the :old and the :new values.

You cannot specify LOB type columns in an OF clause, because BFILE types can be updated without updating the underlying table on which the trigger is defined.

Using OCI functions or the DBMS_LOB package to update LOB values or LOB attributes of object columns does not fire triggers defined on the table that contains the columns or attributes.

но это не объясняет почему значение есть если сохранять в pl/sql
...
Рейтинг: 0 / 0
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
    #39389490
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_77787raise_application_error
я говорил о логировании не возбуждением исключения. А логами.
Исключалка это штука тонкая....с отменой транзакции и т.д.
...
Рейтинг: 0 / 0
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
    #39389521
Alex_77787
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, в логах в апексе будет видно что происходит в триггере? И как именно сохраняется поле CLOB?
...
Рейтинг: 0 / 0
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
    #39389553
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_77787Petro123, в логах в апексе будет видно что происходит в триггере? И как именно сохраняется поле CLOB?
может быстрее посмотреть чем спрашивать?
...
Рейтинг: 0 / 0
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
    #39391041
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, есть подозрение, что Apex работает с clob полями при insert и update примерно так:

Код: plsql
1.
2.
insert into demo values (p_id, empty_clob() ) returning y into l_clob; 
dbms_lob.write( l_clob,length(p_text), 1,p_text); 



В документации Apex найти подтверждения не смогли.
Может, кто-то из коллег подскажет, похожа наша догадка на правду или нет.
...
Рейтинг: 0 / 0
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
    #39391067
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_Frost,
- чтобы строить догадки нужно собрать ВСЮ информацию. Т.е. логи клиента-апекс + логи от триггера.
И выложить на форум.
Я 3 раза про это говорил.
...
Рейтинг: 0 / 0
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
    #39391072
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_FrostМожет, кто-то из коллег подскажет, похожа наша догадка на правду или нет.
чистый с нуля проект с одним полем CLOB и его не видно в триггере сделали?
Это делать 30 минут.
...
Рейтинг: 0 / 0
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
    #39391148
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, похоже вопрос снимается. Такое поведение замечено на версии Apex 4.0.1.
На версии 4.2.2 все работает нормально.

Создана простейшая таблица с полем CLOB, в триггере текст
RAISE_APPLICATION_ERROR (-20000, 'NEW.CLOB=' || :NEW.CLOB_COLUMN);

На разных версиях Апекса делаем одно и то же - создаем форму редактирования этой таблицы.
на версии Apex 4.0.1 в триггере в new значении - null
на версии 4.2.2 в триггере в new значении - то, что вводили в форме
...
Рейтинг: 0 / 0
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
    #39391151
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, спасибо забыл сказать))
...
Рейтинг: 0 / 0
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
    #39391252
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_Frost,
OK
админ должен следить. Либо 4-ка последняя. Либо 5-ка последняя.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]