|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Здравствуйте, если у кого идеи, Как создать триггер на представление, который бы реагировал бы на изменения таблиц на которых основано представление? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 16:05 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Jack963, в чем подвох? https://docs.oracle.com/database/121/TDDDG/tdddg_triggers.htm#TDDDG52800 Creating an INSTEAD OF Trigger ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 16:12 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Свой триггер на каждую из таблиц представления? Функция, которую запускают триггеры в таблицах представления? На само представление триггер не вешается (вроде). Это же просто предзаготовленный запрос, а не какой то физический объект. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 16:15 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Jack963, Что подразумевается под изменением? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 16:28 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Stax, Триггер на представление с INSTEAD OF, обрабатывает UPDATE, INSERT и DELETE с самим представлением, необходимо же поймать момент когда будут обновятся сами таблицы на которых основано представление. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 16:36 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Тогда и делайте триггеры на таблицы. В чем проблема, совершенно не понятно ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 16:39 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Агрох, Если преставление будет основано на 10+ таблиц потребуется создавать множество триггеров, или же составной триггер. Нет ли варианта как то определить, что были изменены таблицы на которых основано представление. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 16:39 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
env, Под изменениями подразумевается UPDATE, INSERT, DELETE, MERGE с таблицами на которых основано представление ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 16:39 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Jack963, Запретить менять данные в таблицах кроме как через представление ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 16:40 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Jack963, не понял Вам надо отличить когда таблица меняется напрямую, а когда через представление? ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 16:41 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Stax, Необходимо поймать момент когда происходит изменение в таблицах на которых основано представление, и обработать данный момент, далее уже определить в какой именно таблице произошли изменения и обработать его. То есть заранее не известно на какие именно использует таблицы представление, поэтому создать триггер на каждую таблицу не получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 16:45 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Jack963 Нет ли варианта как то определить, что были изменены таблицы на которых основано представление. Насколько я знаю такой возможности нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 16:45 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Подозреваю, что если представление материализованное, то возможно что-то можно выцепить через логи. Но вообще, задача не понятна совершенно. Нафига это надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 16:48 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Есть подозрение, что автор пытается или " Continuous Query Notificatio n (CQN) allows an application to register queries with the database for either object change notification (the default) or query result change notification. An object referenced by a registered query is a registered object." или Materialized view изобрести ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 16:52 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, У пользователя есть grant на данное представление, и если происходит какое либо изменение данного представления пользователь хотел бы понять, что представление было изменено ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 16:53 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Jack963, Странная задача. А если под представлением ещё одно? Или pipeleined function? Или синоним? Что именно должен узнать этот самый пользователь? Его интересует изменение каждой строки или сам факт, что изменение было? В каком виде он должен получить информацию? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 17:01 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
env, Сам пользователь должен узнать, что в какой либо таблице на котором основано представление, произошел INSERT, DELETE, UPDATE, ну то есть не обязательно должны меняться данные которые используются в представлении. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 17:05 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
env, Неважно сколько строк было изменено, важен сам факт изменения таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 17:05 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Jack963, изменения фиксируются по commit скажите архитектору, что реализовать мож и можно, но сложно, не надежно, будет тормозить и тд пусть отказывается от идеи ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 17:34 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Jack963 env, Сам пользователь должен узнать, что в какой либо таблице на котором основано представление, произошел INSERT, DELETE, UPDATE, ну то есть не обязательно должны меняться данные которые используются в представлении. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 17:35 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Jack963 Сам пользователь должен узнать, что в какой либо таблице на котором основано представление, произошел INSERT, DELETE, UPDATE, ну то есть не обязательно должны меняться данные которые используются в представлении. А если под вьюхой будет external table? Итоговая задача какая? Для чего это пользователю? Если так необходимо знать факт изменений в таблицах, то вешайте аудит на них, а для вьюх уже по словарю смотрите, какие могло затронуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 17:46 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
кит северных морейдальше что? для чего вы это хотите? Ну это же очевидно: обновить грид в приложении. Аффтар, тебе уже сказали о Continuous Query Notification. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 18:06 |
|
PL/SQL триггер на представление
|
|||
---|---|---|---|
#18+
Jack963 Здравствуйте, если у кого идеи, Как создать триггер на представление, который бы реагировал бы на изменения таблиц на которых основано представление? Это звучит как попытка синхронизировать данные между чем-то и SQL таблицами. Как задача поставлена, она не решается в общем случае. Пример: ваше представление включает виртуальные колонки таблиц (меняются без уведомлений) или внешние таблицы (меняются без уведомлений). Возможно, если вы опишите свою задачу, появятся решения которые не требуют триггер на представление. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 23:26 |
|
|
start [/forum/search_topic.php?author=%D0%9D%D0%BE%D0%B2%D0%B8%D1%87%D0%B5%D0%BA+%D0%B2+%D0%BA%D1%80%D0%B0%D0%B9%D1%81%D1%82%D0%B0%D0%BB&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 1185ms |
total: | 1363ms |
0 / 0 |