|
|
|
Можно ли в блоке использовать вьюху на основе более чем одной таблицы?
|
|||
|---|---|---|---|
|
#18+
Доброе время суток всем! Собственно сабж Forms 6 под OeBS. Формочка, в ней два блока мастер-деталь на вьюхах. Если вьюха состоит более чем из одной табалицы, то при попытке вставки или апдейта возникает ошибка, что ROWID не найден. Во вьюхе добавлял поля типа ROWID и в Item указал субкласс для него ROW_ID, но не помогло... Получается в блоках можно использовать вьюху на основе только одной таблице? А данные из полей других таблиц брать в виде селекта: select a.id, a.name ,(select b.name from task b where b.project_id= a.id) ....... FROM project b..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2010, 15:38 |
|
||
|
Можно ли в блоке использовать вьюху на основе более чем одной таблицы?
|
|||
|---|---|---|---|
|
#18+
Нет, не получается. Можно использовать вьюху на основе более чем одной таблицы. В свое время подробно "для чайников" описывал как делать. Но найти не смог. Можешь попытаться поискать сам. Поиском за 5 минут выловил следующие обсуждения: http://www.sql.ru/forum/actualthread.aspx?tid=168281 /topic/163299 + ссылка из пред. ссылки (подробно не читал, лениво. Но вопросы делания запросов обновляемыми, статься раскрывает) http://jon-d.narod.ru/ora/BlockOnAJoinRus.pdf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2010, 16:28 |
|
||
|
Можно ли в блоке использовать вьюху на основе более чем одной таблицы?
|
|||
|---|---|---|---|
|
#18+
MikTarДоброе время суток всем! Собственно сабж Forms 6 под OeBS. Формочка, в ней два блока мастер-деталь на вьюхах. Если вьюха состоит более чем из одной табалицы, то при попытке вставки или апдейта возникает ошибка, что ROWID не найден. Можно указать какие столбцы являются первичными ключами. Можно сделать триггер на вью... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2010, 12:25 |
|
||
|
Можно ли в блоке использовать вьюху на основе более чем одной таблицы?
|
|||
|---|---|---|---|
|
#18+
gpuMikTarДоброе время суток всем! Собственно сабж Forms 6 под OeBS. Формочка, в ней два блока мастер-деталь на вьюхах. Если вьюха состоит более чем из одной табалицы, то при попытке вставки или апдейта возникает ошибка, что ROWID не найден. Можно указать какие столбцы являются первичными ключами. Можно сделать триггер на вью... Забыл > определить триггеры ON_INSERT, ON-UPDATE на блоке и делать все самому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2010, 12:26 |
|
||
|
Можно ли в блоке использовать вьюху на основе более чем одной таблицы?
|
|||
|---|---|---|---|
|
#18+
gpu Можно указать какие столбцы являются первичными ключами. определить триггеры ON_INSERT, ON-UPDATE на блоке и делать все самому. Триггеры ессно есть- иначе вьюхи не обновишь. И ключи указал. И Relation создано. Ошибка появляется видимо когда после обновления идет попытка перечитать данные... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2010, 13:47 |
|
||
|
Можно ли в блоке использовать вьюху на основе более чем одной таблицы?
|
|||
|---|---|---|---|
|
#18+
MikTargpu Можно указать какие столбцы являются первичными ключами. определить триггеры ON_INSERT, ON-UPDATE на блоке и делать все самому. Триггеры ессно есть- иначе вьюхи не обновишь. И ключи указал. И Relation создано.... Триггеры совершенно не обязательны. У нас например (примерно) была такая конструкция. Редактировались данные в таблицы A, а значение из справочников, таблица B, брались через View. Тогда Query Data Source - view DML Target - таблица А Столбцы с первичным ключом - столбцы с primary key из таблицы A Столбцы из других таблиц (таблицы B), вычисляемые и т.д. - Query only. Все замечательно редактируется и без всяких триггеров. (не для OeBS, в OeBS обычно все через триггеры). MikTar ...Если вьюха состоит более чем из одной табалицы, то при попытке вставки или апдейта возникает ошибка, что ROWID не найден... ...Ошибка появляется видимо когда после обновления идет попытка перечитать данные... [quot MikTar] 1) Если указаны столбцы с первичным ключом, по логике, ROWID ему нафиг не нужен. Forms должен работать через первичный ключ, а не через ROWID. Но указанной информации не достаточно, что бы делать вывод, где именно у тебя ошибка IMHO. 2) Насколько я помню, никакой попытки перечитать данные после обновления Forms не делает. При блокировке, возможен запрос с проверкой, проверить, что данные в БД никто не менял. Триггер ON_LOCK (или как-то так) может помочь. Или см. п. 1 про первичный ключ. [quot gpu] определить триггеры ON_INSERT, ON-UPDATE на блоке и делать все самому. + ON-LOCK Еще что нибудь забыли? Я Forms уже больше года не запускал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2010, 15:48 |
|
||
|
Можно ли в блоке использовать вьюху на основе более чем одной таблицы?
|
|||
|---|---|---|---|
|
#18+
MikTargpu Можно указать какие столбцы являются первичными ключами. определить триггеры ON_INSERT, ON-UPDATE на блоке и делать все самому. Триггеры ессно есть- иначе вьюхи не обновишь. И ключи указал. И Relation создано.... Триггеры совершенно не обязательны. У нас например (примерно) была такая конструкция. Редактировались данные в таблицы A, а значение из справочников, таблица B, брались через View. Тогда Query Data Source - view DML Target - таблица А Столбцы с первичным ключом - столбцы с primary key из таблицы A Столбцы из других таблиц (таблицы B), вычисляемые и т.д. - Query only. Все замечательно редактируется и без всяких триггеров. (не для OeBS, в OeBS обычно все через триггеры). MikTar ...Если вьюха состоит более чем из одной табалицы, то при попытке вставки или апдейта возникает ошибка, что ROWID не найден... ...Ошибка появляется видимо когда после обновления идет попытка перечитать данные... 1) Если указаны столбцы с первичным ключом, по логике, ROWID ему нафиг не нужен. Forms должен работать через первичный ключ, а не через ROWID. Но указанной информации не достаточно, что бы делать вывод, где именно у тебя ошибка IMHO. 2) Насколько я помню, никакой попытки перечитать данные после обновления Forms не делает. При блокировке, возможен запрос с проверкой, проверить, что данные в БД никто не менял. Триггер ON_LOCK (или как-то так) может помочь. Или см. п. 1 про первичный ключ. gpu определить триггеры ON_INSERT, ON-UPDATE на блоке и делать все самому. + ON-LOCK Еще что нибудь забыли? Я Forms уже больше года не запускал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2010, 15:48 |
|
||
|
|

start [/forum/topic.php?fid=51&msg=36862312&tid=1878890]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
71ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 172ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...