powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Триггеры на View в 9.2
17 сообщений из 17, страница 1 из 1
Триггеры на View в 9.2
    #32191197
Babrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите разобраться в проблеме. Создаю View, ставлю на нее триггер, а он через некоторое время 'слетает'. Т.е. его ПРОСТО НЕТ В БАЗЕ!!! Подскажите, что делать?
...
Рейтинг: 0 / 0
Триггеры на View в 9.2
    #32191224
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня было такое в 8.1.7. Как я понял, если триггер instead of становится инвалидным иногда найти его бывает сложно, но drop trigger отрабатывает прекрасно.
...
Рейтинг: 0 / 0
Триггеры на View в 9.2
    #32191249
Babrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Gluk (Kazan)
>если триггер instead of становится инвалидным иногда найти его бывает сложно, но drop trigger отрабатывает прекрасно.

В смысле "сложно найти"? По крайней мере, он не срабатывает. Что нужно сделать, чтоб от этого глюка избавиться?
...
Рейтинг: 0 / 0
Триггеры на View в 9.2
    #32191283
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обычный тригер становится инвалидным, но его видно, скажем в DBA-студии и можно перекомпилировать. А эти тригеры у меня просто пропадали, спасало create or replace (но нужно было помнить название тригера). Тригер я использовал чтобы скрыть поле пароля в таблице Абсолюта, но дать возможность операторам менять его.
...
Рейтинг: 0 / 0
Триггеры на View в 9.2
    #32191284
Babrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вроде бы разобрался...
Если View перекомпилить с ошибкой, то триггеры просто исчезают. Если ее не "трогать", то, видимо, все будет нормально.
...
Рейтинг: 0 / 0
Триггеры на View в 9.2
    #32191433
Фотография hinotf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После "перекомпиляции" view, даже без ошибки, триггер пропадёт. Потому что "перекомпиляция", это собственно говоря replace
...
Рейтинг: 0 / 0
Триггеры на View в 9.2
    #32191452
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то это не правильно IMHO

2 Violina есть ли в ЭТОМ какой-то тайный смысл ? К тебе взываю :)
...
Рейтинг: 0 / 0
Триггеры на View в 9.2
    #32191471
Simon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуйте писать

Код: plaintext
create or replace FORCE view ....
...
Рейтинг: 0 / 0
Триггеры на View в 9.2
    #32191523
Александр Б
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"2 Violina есть ли в ЭТОМ какой-то тайный смысл ? К тебе взываю :)"

Ну что я говорил - Ask Violina :=)
...
Рейтинг: 0 / 0
Триггеры на View в 9.2
    #32191551
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот стоило раз пофилософствоать про то зачем нужен экспорт статистики без самих данных и вот пожалуйста:-)

Этот случай к сожалению не могу прокомментировать и большим интересом жду ответов экспертов! А что значит пропадают, их нет в dba_triggers?
...
Рейтинг: 0 / 0
Триггеры на View в 9.2
    #32191570
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Violina:

> А что значит пропадают, их нет в dba_triggers?

From SQL Reference manual:

OR REPLACE
Specify 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 in the view are dropped when a view is re-created.

SY
...
Рейтинг: 0 / 0
Триггеры на View в 9.2
    #32191587
Babrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>А что значит пропадают, их нет в dba_triggers?
Так точно, пропадают и все )))

Я считаю, что очееень большое упущение, если это не баг. Мне это нужно для технологии MIDAS - там по-другому просто нельзя (без триггеров на VIEW).
Однако же чем строить триггер на таблицу, гораздо грамотнее, ИМХО, сделать VIEW и навесить на него.
...
Рейтинг: 0 / 0
Триггеры на View в 9.2
    #32191671
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Gluk

Вот выяснилось.

INSTEAD OF triggers defined in the view are dropped when a view is re-created.

Если тебя интересует мое мнение по этому поводу, то я считаю такой подход слишком жестоким:-) И соглашусь с Babrow Я считаю, что очееень большое упущение, если это не баг.

А при alter view compile, тоже удаляется?

PS
Смотрела доку по 9.2 не нашла тему по поведению тригеров instead of в случае alter view.
...
Рейтинг: 0 / 0
Триггеры на View в 9.2
    #32191794
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Violina:

> я считаю такой подход слишком жестоким:-)

Well, you probably right Oracle could come up with some way to keep and recompile triggers when recreating view. At the same time one would not recreate a view unless view definition changed. And if it changed it could affect trigger logic (even if trigger still compiles OK). And by droping triggers Oracle kind of forces you to think about it.

SY.
...
Рейтинг: 0 / 0
Триггеры на View в 9.2
    #32191889
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну Oracle-у виднее. Я понял, это не баг, а фича.
...
Рейтинг: 0 / 0
Триггеры на View в 9.2
    #32192065
Babrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 SY

C таким же успехом при добавлении к таблице поля, Оракл должен дропать, навешанные на нее триггеры.
У меня все триггеры в одну строчку (идет вызов процедуры из пакета), а если бы они были бы большимы? Если их много? Нужно где-то хранить скрипт для их создания? Постоянная синхронизация между скриптом и базой?
...
Рейтинг: 0 / 0
Триггеры на View в 9.2
    #32192229
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то хранить скрипты всех писанных триггеров ОЧЕНЬ неплохая идея
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Триггеры на View в 9.2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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