|
Редактирование представление
|
|||
---|---|---|---|
#18+
Была одна таблица из которой удалили поле и перенесли его в другую таблицы. Теперь используется представление вместо таблицы Код: sql 1. 2. 3. 4.
Как в этом представлении сделать редактирование поле field2? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2022, 12:33 |
|
Редактирование представление
|
|||
---|---|---|---|
#18+
INSTEAD OF триггера. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2022, 13:45 |
|
Редактирование представление
|
|||
---|---|---|---|
#18+
cptngrb Была одна таблица из которой удалили поле и перенесли его в другую таблицы. Теперь используется представление вместо таблицы Код: sql 1. 2. 3. 4.
Как в этом представлении сделать редактирование поле field2 ? что это значит? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2022, 15:19 |
|
Редактирование представление
|
|||
---|---|---|---|
#18+
Ролг Хупин, Что не понятно? Нужно редактировать view как table. Когда соединение через join вопросов нет, а вот через left join есть. Дмитрий подсказал решение, в понедельник попробую решить ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2022, 17:15 |
|
Редактирование представление
|
|||
---|---|---|---|
#18+
cptngrb Что не понятно? Гражданин не понимает сути проблемы, но лезет с советами. Для неофитов это нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2022, 19:23 |
|
Редактирование представление
|
|||
---|---|---|---|
#18+
dmdmdm, судя по количеству его сообщений он уже должен быть мастер йода)) Главное, что есть желание помочь ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2022, 20:53 |
|
Редактирование представление
|
|||
---|---|---|---|
#18+
cptngrb ... Дмитрий подсказал решение, в понедельник попробую решить попробуйте принять в расчет, что это решение, но решение хрустальное. ваш триггер автоматически потеряется при любом последующем create or replace view. Вы можете так делать, при условии, что после внедрения такого решения не только вы, а вообще все, кто полезет лапками в ваше представление будет обязан не забыть, в конце концов, применить ваш триггер. Вы точно уверены, что сможете всегда определить - кто и когда ненароком или случайно дропнул ваш триггер, потому что ему в представлении надо было что-то подправить? И да, с вероятностью 100%, первым таким человеком окажетесь вы сами. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2022, 20:56 |
|
Редактирование представление
|
|||
---|---|---|---|
#18+
dmdmdm cptngrb Что не понятно? Гражданин не понимает сути проблемы, но лезет с советами. Для неофитов это нормально. кто же этот "гражданин"? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2022, 21:00 |
|
Редактирование представление
|
|||
---|---|---|---|
#18+
booby cptngrb ... Дмитрий подсказал решение, в понедельник попробую решить попробуйте принять в расчет, что это решение, но решение хрустальное. ваш триггер автоматически потеряется при любом последующем create or replace view. Вы можете так делать, при условии, что после внедрения такого решения не только вы, а вообще все, кто полезет лапками в ваше представление будет обязан не забыть, в конце концов, применить ваш триггер. Вы точно уверены, что сможете всегда определить - кто и когда ненароком или случайно дропнул ваш триггер, потому что ему в представлении надо было что-то подправить? И да, с вероятностью 100%, первым таким человеком окажетесь вы сами. Так проблема может возникнуть только в случае неорганизованности процессов разработки. И то, самое страшное, что грозит, это после какого-то обновления представления (и дропа триггера, соответственно), операции апдейт будут падать - тот, чьё обновление к этому привело, хочешь-не хочешь, вынужден будет триггер сохранять и поддерживать. Естественно, в нормальных условиях это выявляется на этапе тестирования, а не в проде. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2022, 21:16 |
|
Редактирование представление
|
|||
---|---|---|---|
#18+
ASNexus, Сначала надо хотя бы знать, что модификация представления убивает триггер. А уж страшно оно или нет - это результат оценки такого знания. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2022, 21:27 |
|
Редактирование представление
|
|||
---|---|---|---|
#18+
А нет никакого механизма предупреждать разработчика о бережном отношении к представления. Например, как checking exception Java? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2022, 22:33 |
|
Редактирование представление
|
|||
---|---|---|---|
#18+
Или триггер будет INVALID и разработчик это легко может в БД смотреть? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2022, 22:34 |
|
Редактирование представление
|
|||
---|---|---|---|
#18+
cptngrb Или триггер будет INVALID и разработчик это легко может в БД смотреть? нет . Его просто не будет, он дропнется , если кто-то "случайно" применит create or replace view. Смотреть можно, увидеть уже ничего нельзя - его больше нет . ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2022, 22:45 |
|
Редактирование представление
|
|||
---|---|---|---|
#18+
cptngrb А нет никакого механизма предупреждать разработчика о бережном отношении к представления. Например, как checking exception Java? единственный известный мне способ - завести логирование объектов бд, с целью последующего расстрела всякого, кто полезет в ваше представление. А на своем носу зарубить -, что никакие - случайные или целенаправленные изменения представления не могут далее происходить, без обязательного завершающего применения триггера. Встав на эту дорогу однажды, вы всегда далее обязаны производить модификацию таким скриптом, который обязательно завершается восстановлением вашего триггера. Это может работать, если вы знаете как верить в то, что ни сопереживающий вашему делу товарищ, ни любопытствующий пользователь вашей "системы", вам точно ничего не сломают, а если сломают, то вы, как минимум, теперь точно знаете, что именно это может и, по вероятности, будет ломаться в первую очередь. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2022, 23:00 |
|
Редактирование представление
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2022, 23:20 |
|
Редактирование представление
|
|||
---|---|---|---|
#18+
Если кто-то решил заменить редактируемое представление нередактируемым - это его собственное решение и, соответственно, все его (решения) последствия - на его совести. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2022, 23:23 |
|
Редактирование представление
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Если кто-то решил заменить редактируемое представление нередактируемым - это его собственное решение и, соответственно, все его (решения) последствия - на его совести. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2022, 23:26 |
|
Редактирование представление
|
|||
---|---|---|---|
#18+
andreymx Код: plsql 1. 2. 3. 4. 5.
Хорошая подсказка. Поможет хотя бы при использовании GUI. В Oracle 21c всё осталось по-прежнему без изменений: OR REPLACESpecify OR REPLACE to re-create the view if it already exists. You can use this clause to change the definition of an existing view without dropping, re-creating, and regranting object privileges previously granted on it. INSTEAD OF triggers defined on a conventional view are dropped when the view is recreated. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2022, 22:52 |
|
|
start [/forum/topic.php?fid=52&gotonew=1&tid=1879585]: |
0ms |
get settings: |
18ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
36ms |
get topic data: |
2ms |
get first new msg: |
3ms |
get forum data: |
1ms |
get page messages: |
319ms |
get tp. blocked users: |
0ms |
others: | 366ms |
total: | 752ms |
0 / 0 |