|
|
|
Триггеры на View в 9.2
|
|||
|---|---|---|---|
|
#18+
Помогите разобраться в проблеме. Создаю View, ставлю на нее триггер, а он через некоторое время 'слетает'. Т.е. его ПРОСТО НЕТ В БАЗЕ!!! Подскажите, что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 13:45:06 |
|
||
|
Триггеры на View в 9.2
|
|||
|---|---|---|---|
|
#18+
У меня было такое в 8.1.7. Как я понял, если триггер instead of становится инвалидным иногда найти его бывает сложно, но drop trigger отрабатывает прекрасно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 13:59:09 |
|
||
|
Триггеры на View в 9.2
|
|||
|---|---|---|---|
|
#18+
2 Gluk (Kazan) >если триггер instead of становится инвалидным иногда найти его бывает сложно, но drop trigger отрабатывает прекрасно. В смысле "сложно найти"? По крайней мере, он не срабатывает. Что нужно сделать, чтоб от этого глюка избавиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 14:16:53 |
|
||
|
Триггеры на View в 9.2
|
|||
|---|---|---|---|
|
#18+
Обычный тригер становится инвалидным, но его видно, скажем в DBA-студии и можно перекомпилировать. А эти тригеры у меня просто пропадали, спасало create or replace (но нужно было помнить название тригера). Тригер я использовал чтобы скрыть поле пароля в таблице Абсолюта, но дать возможность операторам менять его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 14:35:12 |
|
||
|
Триггеры на View в 9.2
|
|||
|---|---|---|---|
|
#18+
Вроде бы разобрался... Если View перекомпилить с ошибкой, то триггеры просто исчезают. Если ее не "трогать", то, видимо, все будет нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 14:36:01 |
|
||
|
Триггеры на View в 9.2
|
|||
|---|---|---|---|
|
#18+
После "перекомпиляции" view, даже без ошибки, триггер пропадёт. Потому что "перекомпиляция", это собственно говоря replace ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 16:05:10 |
|
||
|
Триггеры на View в 9.2
|
|||
|---|---|---|---|
|
#18+
Вообще-то это не правильно IMHO 2 Violina есть ли в ЭТОМ какой-то тайный смысл ? К тебе взываю :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 16:12:43 |
|
||
|
Триггеры на View в 9.2
|
|||
|---|---|---|---|
|
#18+
попробуйте писать Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 16:27:48 |
|
||
|
Триггеры на View в 9.2
|
|||
|---|---|---|---|
|
#18+
"2 Violina есть ли в ЭТОМ какой-то тайный смысл ? К тебе взываю :)" Ну что я говорил - Ask Violina :=) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 17:04:34 |
|
||
|
Триггеры на View в 9.2
|
|||
|---|---|---|---|
|
#18+
Ну вот стоило раз пофилософствоать про то зачем нужен экспорт статистики без самих данных и вот пожалуйста:-) Этот случай к сожалению не могу прокомментировать и большим интересом жду ответов экспертов! А что значит пропадают, их нет в dba_triggers? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 17:23:28 |
|
||
|
Триггеры на View в 9.2
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 17:32:19 |
|
||
|
Триггеры на View в 9.2
|
|||
|---|---|---|---|
|
#18+
>А что значит пропадают, их нет в dba_triggers? Так точно, пропадают и все ))) Я считаю, что очееень большое упущение, если это не баг. Мне это нужно для технологии MIDAS - там по-другому просто нельзя (без триггеров на VIEW). Однако же чем строить триггер на таблицу, гораздо грамотнее, ИМХО, сделать VIEW и навесить на него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 17:40:15 |
|
||
|
Триггеры на View в 9.2
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 18:42:08 |
|
||
|
Триггеры на View в 9.2
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2003, 00:39:48 |
|
||
|
Триггеры на View в 9.2
|
|||
|---|---|---|---|
|
#18+
Ну Oracle-у виднее. Я понял, это не баг, а фича. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2003, 09:19:43 |
|
||
|
Триггеры на View в 9.2
|
|||
|---|---|---|---|
|
#18+
2 SY C таким же успехом при добавлении к таблице поля, Оракл должен дропать, навешанные на нее триггеры. У меня все триггеры в одну строчку (идет вызов процедуры из пакета), а если бы они были бы большимы? Если их много? Нужно где-то хранить скрипт для их создания? Постоянная синхронизация между скриптом и базой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2003, 11:22:47 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32191671&tid=1989798]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
217ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 508ms |

| 0 / 0 |
