powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Триггер на представление
10 сообщений из 10, страница 1 из 1
Триггер на представление
    #39317935
Rezident_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Есть такая задача: есть главная таблица, в которую заносятся данные. На эту таблицу есть два триггера, которые фиксируют изменения (insert, update) и записывают логи соответственно в таблицы Table1 и Table2. Первый триггер записывает в Table1 данные которые изменились, а второй в Table2 - кто изменил (или добавил). Соответственно есть view на основе этих двух таблиц, где лежит "Кто и что добавил (изменил)".
Вопрос такой: возможно ли сделать триггер на view, который сработает при добавлении (изменении) данных в главной таблице конкретным пользователем.
Например, пользователь "Иванов" добавил новую запись в главную таблицу, в другие две - записались логи и сработал триггер, который нужен или это нереально?
...
Рейтинг: 0 / 0
Триггер на представление
    #39317943
Rezident_, встречный вопрос - почему триггер именно на представлении и что он будет делать?
...
Рейтинг: 0 / 0
Триггер на представление
    #39317952
Rezident_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Триггер будет вставлять еще один признак в еще одну таблицу. Потому что условие срабатывания триггера - конкретный пользователь добавил (изменил) определенные данные (а не любые).
...
Рейтинг: 0 / 0
Триггер на представление
    #39317959
Rezident_,

Как вы определяете "конкретный пользователь"? И почему это нельзя сделать в одном из двух первых триггеров?
Которые, кстати, по-хорошему, имхо, нужно объединить в один.
...
Рейтинг: 0 / 0
Триггер на представление
    #39317966
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пару релизов назад просто посоветовали бы streams...
...
Рейтинг: 0 / 0
Триггер на представление
    #39317971
Rezident_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Table2 записывается логин пользователя. Такая структура у БД - в одну пишется что изменили, а в другую- кто, изменять ее не представляется возможным, к сожалению.
...
Рейтинг: 0 / 0
Триггер на представление
    #39317975
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rezident_Триггер будет вставлять еще один признак в еще одну таблицу. Потому что условие
срабатывания триггера - конкретный пользователь добавил (изменил) определенные данные (а
не любые).

А в чём проблема-то? Вешаешь триггер на вьюху, первые два триггера переделываешь так,
чтобы писали данные не в таблицы, а в эту самую вьюху. И всё, телемаркет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Триггер на представление
    #39317980
Rezident_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, нельзя переделать структуру тех триггеров, в том и проблема, так бы да можно было.
...
Рейтинг: 0 / 0
Триггер на представление
    #39317984
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovтриггера переделываешь так,
чтобы писали данные не в таблицы, а в эту самую вьюху. И всё, телемаркет.

Сэр не из Челябинска часом будет?
...а то суровость как-то зашкаливает.
...
Рейтинг: 0 / 0
Триггер на представление
    #39317987
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rezident_Dimitry Sibiryakov, нельзя переделать структуру тех триггеров, в том и проблема, так бы да можно было.
ТС, если Вам ничего нельзя - то надо отказываться от задачи в пользу более опытных/доверенных коллег.
А если все-таки что-то можно - то можно, как минимум:
- повесить третий триггер на базовую таблицу
- повесить триггер на одну из таблиц логов.
- сделать еще одну view над таблицами логов, в которой будет фильтроваться необходимые данные, или даже над имеющейся view.
- создать snapshot logs на базовой таблице и слепить materialized view "refresh on commit"
- писать события в non-persistent очередь триггером на базовой, логи вести callback-ом
...
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Триггер на представление
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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