Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
IG на основе сложного запроса
|
|||
|---|---|---|---|
|
#18+
Начинаю разбираться с IG Сделал Interactive Grid на основании запроса (упрощенно): select id,dat, u.name , m.name model_name, t.name type_name from u, model m, typ t where u.model_id = m.model_id and u.typ_id = u.typ_id Включил редактирование, меняю некоторые названия, нажимаю Save Естественно не дает Ajax call returned server error ORA-20987: APEX - ORA-01776: нельзя изменить более одной таблицы посредством связанного представления Каким кодом можно подменить стандартное сохранение данных грида? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2017, 15:13 |
|
||
|
IG на основе сложного запроса
|
|||
|---|---|---|---|
|
#18+
поставь в свойствах полей query only ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2017, 16:17 |
|
||
|
IG на основе сложного запроса
|
|||
|---|---|---|---|
|
#18+
"query only" так я ведь и сохранять в базу хочу( Еще, через какой код принудительно задать вид грида как "Single Row" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2017, 16:44 |
|
||
|
IG на основе сложного запроса
|
|||
|---|---|---|---|
|
#18+
Attributes > Edit > Enabled = Yes Settings for your Save Interactive Grid Data process: Settings > Set Target Type = PL/SQL Code Settings > PL/SQL Code to Insert/Update/Delete = begin case :APEX$ROW_STATUS when 'I' then -- Note: In EA2 this has been changed from I to C for consistency with Tabular Forms insert into emp ( empno, ename, deptno ) values ( :EMPNO, :ENAME, :DEPTNO ) returning rowid into :ROWID; when 'U' then update emp set ename = :ENAME, deptno = :DEPTNO where rowid = :ROWID; when 'D' then delete emp where rowid = :ROWID; end case; end; https://community.oracle.com/thread/3937159 тогда так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2017, 19:51 |
|
||
|
IG на основе сложного запроса
|
|||
|---|---|---|---|
|
#18+
делаю как в представленном коде коде begin case :APEX$ROW_STATUS when 'U' then update conf set proc_value = :PROC_NUM where conf_id = :CONF_ID; изменяю поле :PROC_NUM в интерфейсе пишет "Changed saved" В базе не сохраняется. Записываю ниже в коде значение поля :PROC_NUM в отдельную таблицу. Сохраняет старое значение поля, до изменения( Как явно указать, что мне нужно измененное значение? Часть какой plsql записи являются все поля грида? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 13:25 |
|
||
|
IG на основе сложного запроса
|
|||
|---|---|---|---|
|
#18+
Никки Младшийselect id,dat, u.name , m.name model_name, t.name type_name from u, model m, typ t where u.model_id = m.model_id and u.typ_id = u.typ_id попробуйте JOIN Это более правильный синтаксис, чем мешанина таблиц через запятую во from ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 14:26 |
|
||
|
IG на основе сложного запроса
|
|||
|---|---|---|---|
|
#18+
Petro123, сейчас это просто вьюха. join должен заставить меняться полю на новое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 15:19 |
|
||
|
IG на основе сложного запроса
|
|||
|---|---|---|---|
|
#18+
Никки МладшийPetro123, сейчас это просто вьюха. join должен заставить меняться полю на новое? вы пробуйте и потом тут расскажете. Я знаю что текст запроса влияет на автоматический механизм апдейта таблиц. При JOIN, ещё в 4-ке апекса в табуляр таблицах получалось редактировать. И если хотите автомат, то вьюшку убрать на саму таблу. Если руками писать UpdateSQL, то пофиг вообще текст запроса. Будет выполняться ваш текст при Update. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 16:13 |
|
||
|
IG на основе сложного запроса
|
|||
|---|---|---|---|
|
#18+
Никки Младшийjoin должен заставить JOIN вместо вашего - это просто хороший стиль и практика ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 16:14 |
|
||
|
IG на основе сложного запроса
|
|||
|---|---|---|---|
|
#18+
Никки МладшийВ базе не сохраняется. Записываю ниже в коде значение поля :PROC_NUM в отдельную таблицу. Сохраняет старое значение поля, до изменения( Как явно указать, что мне нужно измененное значение? Часть какой plsql записи являются все поля грида? Как-то странно. Написал уже несколько гридов, обновляющихся таким методом, работают как часы. Всегда передается измененное поле. Я бы для начала попробовал пересоздать окно с гридом с нуля. Может там в процессе экспериментов что-то порушилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2017, 15:32 |
|
||
|
|

start [/forum/topic.php?fid=50&msg=39439827&tid=1874361]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 276ms |
| total: | 420ms |

| 0 / 0 |
