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

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

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
23.01.2017, 13:58
    #39389490
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
Alex_77787raise_application_error
я говорил о логировании не возбуждением исключения. А логами.
Исключалка это штука тонкая....с отменой транзакции и т.д.
...
Рейтинг: 0 / 0
23.01.2017, 14:32
    #39389521
Alex_77787
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
Petro123, в логах в апексе будет видно что происходит в триггере? И как именно сохраняется поле CLOB?
...
Рейтинг: 0 / 0
23.01.2017, 15:13
    #39389553
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
Alex_77787Petro123, в логах в апексе будет видно что происходит в триггере? И как именно сохраняется поле CLOB?
может быстрее посмотреть чем спрашивать?
...
Рейтинг: 0 / 0
25.01.2017, 13:08
    #39391041
Mr_Frost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
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
25.01.2017, 13:29
    #39391067
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
Mr_Frost,
- чтобы строить догадки нужно собрать ВСЮ информацию. Т.е. логи клиента-апекс + логи от триггера.
И выложить на форум.
Я 3 раза про это говорил.
...
Рейтинг: 0 / 0
25.01.2017, 13:30
    #39391072
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
Mr_FrostМожет, кто-то из коллег подскажет, похожа наша догадка на правду или нет.
чистый с нуля проект с одним полем CLOB и его не видно в триггере сделали?
Это делать 30 минут.
...
Рейтинг: 0 / 0
25.01.2017, 14:20
    #39391148
Mr_Frost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
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
25.01.2017, 14:22
    #39391151
Mr_Frost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
Petro123, спасибо забыл сказать))
...
Рейтинг: 0 / 0
25.01.2017, 15:34
    #39391252
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX
Mr_Frost,
OK
админ должен следить. Либо 4-ка последняя. Либо 5-ка последняя.
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / нет :NEW значения в триггере для поля CLOB при сохранении из формы APEX / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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