powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Триггер before delete
10 сообщений из 10, страница 1 из 1
Триггер before delete
    #39886341
Зурбаган
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица MAINT с 5 полями (a,b,c,d,e) и есть полный дубль этой таблицы MAINT2 с 5 полями (a,b,c,d,e).
Информация в обоих таблицам идентична.
На таблицу MAINT я навесил триггер before delete, в котором прописал

delete from maint2 where a:=old.a and b:=old.b and c:=old.c and d:=old.d and e:=old.e and ;

Беда в том, что почему то после удаления записи в таблице MAINT, соответсвующая запись в MAINT2 не удаляется.
Почему?

p.s. материализованная вьюха для данного случая мне не подходит, надо сделать именно через триггер.
...
Рейтинг: 0 / 0
Триггер before delete
    #39886350
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зурбаган,

кто-то часом не NULL?

.....
stax
...
Рейтинг: 0 / 0
Триггер before delete
    #39886379
Зурбаган
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

Конечно, в полях иногда и null присутствует. Из-за этого? nvl применять?
...
Рейтинг: 0 / 0
Триггер before delete
    #39886407
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зурбаган

Беда в том, что почему то после удаления записи в таблице MAINT, соответсвующая запись в MAINT2 не удаляется.
Почему?


Наводка: как минимум одно :old NULL.

SY.
...
Рейтинг: 0 / 0
Триггер before delete
    #39886409
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зурбаган
Stax,

Конечно, в полях иногда и null присутствует. Из-за этого? nvl применять?


Вам решать


....
stax
...
Рейтинг: 0 / 0
Триггер before delete
    #39886449
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зурбаган


Конечно, в полях иногда и null присутствует. Из-за этого? nvl применять?


delete from maint2 where (a:=:old.a or (a is null and :old.a is null)) ...

SY.
...
Рейтинг: 0 / 0
Триггер before delete
    #39886466
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зурбаган
p.s. материализованная вьюха для данного случая мне не подходит
Выучи первичный ключ сперва. Не говоря уже о null.

SY
Код: plsql
1.
a:=:old.a or (a is null and :old.a is null)

Код: plsql
1.
decode(a, :old.a, '=') = '='
...
Рейтинг: 0 / 0
Триггер before delete
    #39886469
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

Только если а никогда не будет '='.

SY.
...
Рейтинг: 0 / 0
Триггер before delete
    #39886470
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SY
Elic,

Только если а никогда не будет '='.
Ну нельзя же так, Соломон…
...
Рейтинг: 0 / 0
Триггер before delete
    #39886471
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic
Ну нельзя же так, Соломон…


Упс...

SY.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Триггер before delete
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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